win7系統(tǒng)下載
當(dāng)前位置: 首頁(yè) > 電腦學(xué)習(xí)教程 > 詳細(xì)頁(yè)面

經(jīng)典C語(yǔ)言10例幾個(gè)常用小程序

發(fā)布時(shí)間:2024-04-13 文章來(lái)源:深度系統(tǒng)下載 瀏覽:

經(jīng)典C語(yǔ)言小程序10例,今天給大家分享10個(gè)比較基礎(chǔ)的C語(yǔ)言的小程序,附上幾個(gè)常用的10個(gè)小例,希望給C語(yǔ)言初學(xué)者帶來(lái)一定幫助,熟練運(yùn)用,舉一反三。

經(jīng)典C語(yǔ)言10例幾個(gè)常用小程序本站

1、題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位數(shù)?都是多少?

程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去掉不滿(mǎn)足條件的排列。

程序源代碼:

main() 

int i,j,k; 

printf("\n"); 

for(i=1;i<5;i++)   。*以下為三重循環(huán)*/ 

 for(j=1;j<5;j++)  

  for (k=1;k<5;k++) 

   { 

    if (i!=k&&i!=j&&j!=k)    /*確保i、j、k三位互不相同*/ 

    printf("%d,%d,%d\n",i,j,k); 

    } 

}

2、題目:企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn)(I)低于或等于10萬(wàn)元時(shí),獎(jiǎng)金可提10%;利潤(rùn)高 于10萬(wàn)元,低于20萬(wàn)元時(shí),低于10萬(wàn)元的部分按10%提成,高于10萬(wàn)元的部分,可可提 成7.5%;20萬(wàn)到40萬(wàn)之間時(shí),高于20萬(wàn)元的部分,可提成5%;40萬(wàn)到60萬(wàn)之間時(shí)高于40萬(wàn)元的部分,可提成3%;60萬(wàn)到100萬(wàn)之間時(shí),高于60萬(wàn)元的部分,可提成1.5%,高于100萬(wàn)元時(shí),超過(guò)100萬(wàn)元的部分按1%提成,從鍵盤(pán)輸入當(dāng)月利潤(rùn)I,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)?

程序分析:請(qǐng)利用數(shù)軸來(lái)分界,定位。注意定義時(shí)需把獎(jiǎng)金定義成長(zhǎng)整型。

程序源代碼:

main() 

long int i; 

int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; 

scanf("%ld",&i); 

bonus1=100000*0.1;bonus2=bonus1+100000*0.75; 

bonus4=bonus2+200000*0.5; 

bonus6=bonus4+200000*0.3; 

bonus10=bonus6+400000*0.15; 

 if(i<=100000) 

  bonus=i*0.1; 

 else if(i<=200000) 

     bonus=bonus1+(i-100000)*0.075; 

    else if(i<=400000) 

        bonus=bonus2+(i-200000)*0.05; 

       else if(i<=600000) 

           bonus=bonus4+(i-400000)*0.03; 

          else if(i<=1000000) 

              bonus=bonus6+(i-600000)*0.015; 

             else 

              bonus=bonus10+(i-1000000)*0.01; 

printf("bonus=%d",bonus); 

}

3、題目:一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全平方數(shù),請(qǐng)問(wèn)該數(shù)是多少?

程序分析:在10萬(wàn)以?xún)?nèi)判斷,先將該數(shù)加上100后再開(kāi)方,再將該數(shù)加上268后再開(kāi)方,如果開(kāi)方后 的結(jié)果滿(mǎn)足如下條件,即是結(jié)果。

程序源代碼:

#include "math.h" 

main() 

long int i,x,y,z; 

for (i=1;i<100000;i++) 

 { x=sqrt(i+100);   /*x為加上100后開(kāi)方后的結(jié)果*/ 

  y=sqrt(i+268);   /*y為再加上168后開(kāi)方后的結(jié)果*/ 

   if(x*x==i+100&&y*y==i+268)/*如果一個(gè)數(shù)的平方根的平方等于該數(shù),這說(shuō)明此數(shù)是完全平方數(shù)*/ 

    printf("\n%ld\n",i); 

  } 

}

4、題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

程序分析:以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來(lái),然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時(shí)需考慮多加一天。

程序源代碼:

main() 

int day,month,year,sum,leap; 

printf("\nplease input year,month,day\n"); 

scanf("%d,%d,%d",&year,&month,&day); 

switch(month)/*先計(jì)算某月以前月份的總天數(shù)*/ 

 case 1:sum=0;break; 

 case 2:sum=31;break; 

 case 3:sum=59;break; 

 case 4:sum=90;break; 

 case 5:sum=120;break; 

 case 6:sum=151;break; 

 case 7:sum=181;break; 

 case 8:sum=212;break; 

 case 9:sum=243;break; 

 case 10:sum=273;break; 

 case 11:sum=304;break; 

 case 12:sum=334;break; 

 defaultrintf("data error");break; 

sum=sum+day;  /*再加上某天的天數(shù)*/ 

 if(year%400==0||(year%4==0&&year%100!=0))/*判斷是不是閏年*/ 

  leap=1; 

 else 

  leap=0; 

if(leap==1&&month>2)/*如果是閏年且月份大于2,總天數(shù)應(yīng)該加一天*/ 

sum++; 

printf("It is the %dth day.",sum); }

5、題目:輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸出。

程序分析:我們想辦法把最小的數(shù)放到x上,先將x與y進(jìn)行比較,如果x>y則將x與y的值進(jìn)行交換,然后再用x與z進(jìn)行比較,如果x>z則將x與z的值進(jìn)行交換,這樣能使x最小。

程序源代碼:

main() 

int x,y,z,t; 

scanf("%d%d%d",&x,&y,&z); 

if (x>y) 

/*交換x,y的值*/ 

if(x>z) 

/*交換x,z的值*/ 

if(y>z) 

/*交換z,y的值*/ 

printf("small to big: %d %d %d\n",x,y,z); 

}

6、題目:用*號(hào)輸出字母C的圖案。

程序分析:可先用<|>*<|>號(hào)在紙上寫(xiě)出字母C,再分行輸出。

程序源代碼:

#include "stdio.h" 

main() 

printf("Hello C-world!\n"); 

printf(" ****\n"); 

printf(" *\n"); 

printf(" * \n"); 

printf(" ****\n"); 

}

7、題目:輸出特殊圖案,請(qǐng)?jiān)赾環(huán)境中運(yùn)行,看一看,Very Beautiful!

程序分析:字符共有256個(gè)。不同字符,圖形不一樣。

程序源代碼:

#include "stdio.h" 

main() 

char a=176,b=219; 

printf("%c%c%c%c%c\n",b,a,a,a,b); 

printf("%c%c%c%c%c\n",a,b,a,b,a); 

printf("%c%c%c%c%c\n",a,a,b,a,a); 

printf("%c%c%c%c%c\n",a,b,a,b,a); 

printf("%c%c%c%c%c\n",b,a,a,a,b); }

8、題目:輸出9*9口訣。

程序分析:分行與列考慮,共9行9列,i控制行,j控制列。

程序源代碼:

#include "stdio.h" 

main() 

 int i,j,result; 

 printf("\n"); 

 for (i=1;i<10;i++) 

  { for(j=1;j<10;j++) 

    { 

     result=i*j; 

     printf("%d*%d=%-3d",i,j,result);/*-3d表示左對(duì)齊,占3位*/ 

     } 

   printf("\n");/*每一行后換行*/ 

   } 

}

9、題目:要求輸出國(guó)際象棋棋盤(pán)。

程序分析:用i控制行,j來(lái)控制列,根據(jù)i+j的和的變化來(lái)控制輸出黑方格,還是白方格。

程序源代碼:

#include "stdio.h" 

main() 

int i,j; 

for(i=0;i<8;i++) 

 { 

  for(j=0;j<8;j++) 

   if((i+j)%2==0) 

    printf("%c%c",219,219); 

   else 

    printf(" "); 

   printf("\n"); 

  } 

}

10、題目:打印樓梯,同時(shí)在樓梯上方打印兩個(gè)笑臉。

程序分析:用i控制行,j來(lái)控制列,j根據(jù)i的變化來(lái)控制輸出黑方格的個(gè)數(shù)。

程序源代碼:

#include "stdio.h" 

main() 

int i,j; 

printf("\n");/*輸出兩個(gè)笑臉*/ 

for(i=1;i<11;i++) 

 { 

 for(j=1;j<=i;j++) 

   printf("%c%c",219,219); 

 printf("\n"); 

  } 

}

本文章關(guān)鍵詞: C語(yǔ)言