日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言编程经典100 例

發布時間:2023/12/31 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言编程经典100 例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【程序 1】
題目:有 1、2、3、4 個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?
1.程序分析:可填在百位、十位、個位的數字都是 1、2、3、4。組成所有的排列后再去掉不滿足條件的排列。
2.程序源代碼:

#include<stdio.h> int main() {int i,j,k;for(i=1;i<5;i++)for(j=1;j<5;j++)for(k=1;k<5;k++){if(i!=j&&i!=k&&j!=k)printf("%d%d%d\n",i,j,k);} }

【程序 2】
題目:企業發放的獎金根據利潤提成。利潤(I)低于或等于 10萬元時,獎金可提 10%;利潤高于 10 萬元,低于 20 萬元時,低于 10 萬元的部分按 10%提成,高于 10 萬元的部分,可可提成 7.5%;20 萬到 40 萬之間時,高于 20 萬元的部分,可提成 5%;40 萬到 60 萬之間時高于40 萬元的部分,可提成 3%;60 萬到 100 萬之間時,高 于 60 萬元的部分,可提成 1.5%,高于100 萬元時,超過 100 萬元的部分按 1%提成,從鍵盤輸入當月利潤 I,求應發放獎金總數?
1.程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。
2.程序源代碼:

#include<stdio.h> int 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;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus); }

【程序 3】
題目:一個整數,它加上 100 后是一個完全平方數,再加上 168又是一個完全平方數,請問該數是多少?
1.程序分析:在 10 萬以內判斷,先將該數加上 100 后再開方,再將該數加上 268 后再開方,如果開方后的結果滿足如下條件,即是結果。請看具體分析:
2.程序源代碼:

#include<stdio.h> #include<math.h> int main() {long int i,x,y,z;for (i=1;i<100000;i++){ x=sqrt(i+100); /*x 為加上100 后開方后的結果*/y=sqrt(i+268); /*y 為再加上 168 后開方后的結果*/if(x*x==i+100&&y*y==i+268)/*如果一個數的平方根的平方等于該數,這說明此數是完全平方數*/printf("\n%ld\n",i);} }

【程序 4】
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
1.程序分析:以 3 月 5 日為例,應該先把前兩個月的加起來,然后再加上 5 天即本年的第幾天,特殊情況,閏年且輸入月份大于 3 時需考慮多加一天。
2.程序源代碼:

#include<stdio.h> int main() {int day,month,year,sum,leap;printf("\nplease input year,month,day\n");scanf("%d,%d,%d",&year,&month,&day);switch(month)/*先計算某月以前月份的總天數*/{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;default:printf("data error");break;}sum=sum+day; /*再加上某天的天數*/if(year%400==0||(year%4==0&&year%100!=0))/*判斷是不是閏年*/leap=1;elseleap=0;if(leap==1&&month>2)/*太妙了*/ /*如果是閏年且月份大 于 2,總天數應該加一天*/sum++;printf("It is the %dth day.",sum); }

【程序 5】
題目:輸入三個整數 x,y,z,請把這三個數由小到大輸出。
1.程序分析:我們想辦法把最小的數放到 x 上,先將 x 與 y 進行比較,如果 x>y 則將 x 與 y 的值進行交換,然后再用 x 與 z 進行比較,如果 x>z 則將 x 與 z 的值進行交換,這樣能使 x 最小。
2.程序源代碼:

#include<stdio.h> int main() {int x,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x>y){t=x;x=y;y=t;} /*交換 x,y 的值*/if(x>z){t=z;z=x;x=t;}/*交換 x,z 的值*/if(y>z){t=y;y=z;z=t;}/*交換 z,y 的值*/printf("small to big: %d %d %d\n",x,y,z); }

【程序 6】
題目:用號輸出字母 C 的圖案。
1.程序分析:可先用’’號在紙上寫出字母 C,再分行輸出。
2.程序源代碼:

#include<stdio.h> int main() {printf("Hello C-world!\n");printf(" ****\n");printf(" *\n");printf(" * \n");printf(" ****\n"); }

【程序 7】
題目:輸出特殊圖案,請在 c 環境中運行,看一看,Very Beautiful!
1.程序分析:字符共有 256 個。不同字符,圖形不一樣。
2.程序源代碼:

#include<stdio.h> int 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 口訣。
1.程序分析:分行與列考慮,共 9 行 9 列,i 控制行,j 控制列。
2.程序源代碼:

#include<stdio.h> int 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 表示左對齊,占 3 位*/}printf("\n");/*每一行后換行*/} }

【程序 9】
題目:要求輸出國際象棋棋盤。
1.程序分析:用 i 控制行,j 來控制列,根據 i+j 的和的變化來控制輸出黑方格,還是白方格。
2.程序源代碼:

#include<stdio.h> int 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);elseprintf(" ");printf("\n");} }

【程序 10】
題目:打印樓梯,同時在樓梯上方打印兩個笑臉。
1.程序分析:用 i 控制行,j 來控制列,j 根據 i 的變化來控制輸出黑方格的個數。
2.程序源代碼:

#include<stdio.h> int main() {int i,j;printf("\1\1\n");/*輸出兩個笑臉*/for(i=1;i<11;i++){for(j=1;j<=i;j++)printf("%c%c",219,219);printf("\n");} }

【程序 11】
題目:古典問題:有一對兔子,從出生后第 3 個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
1.程序分析: 兔子的規律為數列 1,1,2,3,5,8,13,21…
2.程序源代碼:

#include<stdio.h> int main() {long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n");/*控制輸出,每行四個*/f1=f1+f2; /*前兩個月加起來賦值給第三個月*/f2=f1+f2; /*前兩個月加起來賦值給第三個月*/} }

【程序 12】
題目:判斷 101-200 之間有多少個素數,并輸出所有素數。
1.程序分析:判斷素數的方法:用一個數分別去除 2 到 sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數。
2.程序源代碼:

#include<stdio.h> #include<math.h> int main() {int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) {printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h); }

【程序 13】
題目:打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153 是一個"水仙花數",因為 153=1 的三次方+5 的三次方+3 的三次方。
1.程序分析:利用 for 循環控制 100-999 個數,每個數分解出個位,十位,百位。
2.程序源代碼:

#include<stdio.h> int main() {int i,j,k,n;printf("’water flower’number is:");for(n=100;n<1000;n++){i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出個位*/if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){printf("%-5d",n);} }printf("\n"); }

總結

以上是生活随笔為你收集整理的C语言编程经典100 例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。