C語言經(jīng)典編程實例_第1頁
C語言經(jīng)典編程實例_第2頁
C語言經(jīng)典編程實例_第3頁
C語言經(jīng)典編程實例_第4頁
C語言經(jīng)典編程實例_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C語言經(jīng)典編程實例第1章為什么要學(xué)C語言【驗證型】1.1Helloworid.讓我們用c語言向世界問好。輸入:無輸出:Helbworld.1. #include<stdio.h>2. intmain()3. 4. printf("Helloworld.nM);5. )1. .#include<stdio.h>2. intmain()3. (4. printf(MWelcomen");5. printf("tonM);6. printf("Beijing.n");7. )第2章C數(shù)據(jù)類型【設(shè)計型】2.1學(xué)習(xí)打印你的第一個圖

2、形背景:我們已經(jīng)學(xué)習(xí)了prhlf函數(shù),這里給出了一個小程序,它運行的結(jié)果是輸出一個由星號(*)組成的4*4的正方形。程序如下:ttnchde<stdi).h>htmah0prhtf("®letum0;)要求:按照上面的程序范例,編寫一個小程序,要求輸出的是4行由*號組成的等腰三角形。輸入:無。輸出:*1.#include<stdio.h>2.intmain()3.(4.printf("*nM);5.printf("*nM);6.printf("*nM);7.printf(M*n")8.9.return0;10.

3、)【驗證型】2.2輸出倒三角形【題目描述】輸出指定的由'、*組成的倒三角圖案?!据斎搿繜o輸入C【輸出】按照指定格式輸出由組成的倒r角圖案.【樣例輸入】【樣例輸出】#include<stdio.h>2.intmain()3.(4.printfC*nH);5.printf(M*nM);6.printf(H*nH);7.printf(M*nM);8.9.return0;10.簡單的算術(shù)運算和表達式【設(shè)計型】3.1分離3位整數(shù)任意從鍵盤上輸入一個三位正整數(shù),要求正確地分離出它的個位、十位和百位,并分別在屏幕上輸出。比如輸入的三位正整數(shù)1. #include<stdio.h&g

4、t;2. #include<stdlib.h>3. intmain()4. 5. .intx,hundreds,tensunits;6. printf;7. scanf("%d、&x);8. hundreds=x/100;2. tens=x%100/10;3. units=x%100%10;4. printf(Munits=%d>tens=%d>hundreds=%dn'unitstenshundreds);5. )【驗證型】3.2三位數(shù)分解求累加和(參考書P27例3.1與P49例4.4)題目描述輸入一個3位的正整數(shù)n,編程計算整數(shù)n的各位數(shù)字

5、之和。輸入輸入一個正整數(shù)n。輸出各位數(shù)字之和sum。樣例輸入208樣例輸出10題目來源:2012年秋季期末考試1. .#include<stdio.h>2. voidmain()3. (4. inta?x>yJz>sum=0;5. scanf(M%d'&a);6. x=a/100;7. y=a/10%10;8. z=a%10;9. sum=x+y+z;10. printfsum);11. )【設(shè)計型】3.3整數(shù)四則運算【題目描述】小明上小學(xué)一年級了,老師已經(jīng)教會了他們進行整數(shù)的+、-、*、/、%計算,下面老師開始出題,給出一個簡單的算術(shù)表達式,請小明給出

6、計算結(jié)果?!据斎搿拷邮軆蓚€整數(shù),每個整數(shù)之間使用空格分隔?!据敵觥糠謩e輸出進行+、-*、/、*之后的運行結(jié)果?!緲永斎搿?03【樣例輸出】10+3=1310-3=710*3=3010/0=310%3=11. #include<stdio.h>2. intmain()3. 4. inta,b;5. scanf("%d%d&a,&b);6. .printf("%d+%d=%dn",a,b,a+b);7. printf("%d-%d=%dn,a,b,a-b);8. printf("%d*%d=%dn'a,bJa*

7、b);9. .printf("%d/%d=%dna,b,a/b);10. .printf("%d%d=%dn",a,b,a%b);11. return0;12. )【設(shè)計型】3.4編程計算3位整數(shù)的逆序之題目描述見書P41題3.2提示:使用標準數(shù)學(xué)函數(shù)叁bsO。2.#include<stdlib.h>3#include<math.h>4. intmain()5. (6. int7. scanf("%d'&a);8. a=fabs(a);9. b=a/100;10. d=a%10;11. c=(a-b*100-d)/

8、10;12. f=d*100+c*10+b;13. printf("%dn",f);14. return0;15. )鍵盤輸入和屏幕輸出【驗證型】4.1printf和scanfprhtf函數(shù)和scanf函數(shù)是C語言中最常用的函數(shù)之一,下面讓我們練習(xí)一下吧。輸入:整型變量x的值。輸出:輸出整型變量x對應(yīng)的十進制、八進制和十六進制形式。認真觀察的八進制和十六進制輸出,請想想是為什么。1. #include<stdio.h>2. intmain()3. (4. intx;5. scanf(M%d'&x);6. printf(Mx=%d/x);7. pr

9、intf(Mx=%o/x);8. .printf(Mx=%xnMJx);9. return0;10. 【驗證型】4.2字符的ASCH值【題目描述】從鍵盤輸入一個字符,輸出其對應(yīng)的ASCII碼值?!据斎搿枯斎胍粋€字符?!据敵觥枯敵鲎址麑?yīng)的十進制ASCII碼值?!緲永斎搿緼【樣例輸出】651. #include<stdio.h>2. intmain()3. (4. charch;5. ch=getchar();6. ch=ch;7. printf("%dn",ch,ch);8. 【驗證型】4.3混合類型數(shù)據(jù)格式化輸入【題目描述】順序讀入浮點數(shù)1、整數(shù)、字符、浮點

10、數(shù)2.再按照字符、整數(shù)、浮點數(shù)1、浮點數(shù)2的順序輸出?!据斎搿枯斎朐谝恍兄许樞蚪o出浮點數(shù)1、整數(shù)、字符、浮點數(shù)2,其間以1個空格分隔?!据敵觥吭谝恍兄邪凑兆址?、整數(shù)、浮點數(shù)1、浮點數(shù)2的順序輸出,其中浮點數(shù)保留小數(shù)點后2位?!据斎霕永?.1288C4.7【輸出樣例】C882.124.702. #include<stdlib.h>3. intmain()4. 5. floata“b;6. intc;7. chard;8. scanf(M%f%d%cj&a,&c,&d,&b);9. printf("%c%d%.2f%.2fnM,d,c,aJb

11、);10. return0;11. )【設(shè)計型】4.4貓畫貓:計算柱的側(cè)面積及體積如果已知圓柱的底面半徑r,以及高h,則可計算出圓柱的側(cè)面積s=2nrh,體積v=nr2ho其中tt=3.1415926輸入第一行輸入圓柱的底面半徑r第二行輸入圓柱的高h輸出s=圓柱的側(cè)面積,v=圓柱的體積要求1 .所有變量都定義為雙精度類型2 .結(jié)果精確到小數(shù)點后兩位1. #include<stdio.h>2. intmain()3. (4. doublev;5. doublepi=3.1415926;6. scanfC%lf'&r);7. scanf("%lf",

12、&h);8. s=2*pi*r*h;9. v=pi*r*r*h;10. printf(Ms=%5.2f,v=%5.2fnM,s,v);11. return0;12. )【設(shè)計型】4.6旅行時間和花費【題目描述】十一期間LaughhgSir和朋友自駕游去外地玩。已知旅行的距離和汽車平均速度,以及每公升汽油可以行獨的公里數(shù)及每公升汽油的價格,求CoC。這趟駕3史汽車旅游所花費的時間和購買汽油的錢數(shù)?!据斎搿枯斎胨膫€數(shù)據(jù),依次分別表示:旅行的距離(單位:公里)、汽車平均速度(公里/小時)、每公升汽油可以行駛的公里數(shù)(單位:公里)、每公升汽油價格(元公升)?!据敵觥枯敵銎嚶糜嗡ㄙM的時間(單

13、位:小時)和購買汽油的錢數(shù)(單位:元)。輸出數(shù)據(jù)都保留1位小數(shù)【樣例輸入】130011014.57.16【樣例輸出】11.8641.91. #include<stdio.h>2. intmain()3. (4. floats5. scanf("%f%f%f%f",&s,&v,&h,&m);6. .t=s/v;all=s/h*m;7. printf("%.lf%.lfn",t,all);8. return0;9. 【設(shè)計型】4.7計算月收入【題目描述】CoC。的表姐剛從大學(xué)畢業(yè),進入到一家小型外貿(mào)公司工作。該公司

14、員工月收入的計算方法為:月基本工資加當月提成。從鍵盤輸入CoCo表姐某月的基本工資和該月的提成,計算并輸出表姐該月的收入?!据斎搿枯斎雰蓚€數(shù)分別代表月基本工資和月提成?!据敵觥坑嬎悴⑤敵鲈率杖?,保留2位小數(shù)?!緲永斎搿?150.21200【樣例輸出】4350.20|1.#include<stdio.h>2. intmain()3. 4. floatticheng,gongzi;5. .scanf("%f%f”,&gongzij&ticheng);6. .printf("%.2fn",gongzi+ticheng);7. return0

15、;8. 【設(shè)計型】4.8男生和女生【題目描述】已知某班有男生nl位,女生n2位,nl位男生的平均分是x分,n2位女生的平均分是y分,問全體學(xué)生的平均分是多少?【輸入】四個整數(shù)x、y、nl、n2【輸出】全體學(xué)生的平均,保留2位小數(shù)【樣例輸入】90882321【樣例輸出】89.051. #include<stdio.h>2. intmain()3. (4. intnl?n2;floatxyave;5. scanf("%f%f%d%d",&x,&y)&nl,&n2);6. .ave=(x*nl+y*n2)/(nl+n2);7. prin

16、tf(“.2八n1ave);8. return0;9.10. )第5章選擇控制結(jié)構(gòu)【設(shè)計型】5.1奇偶數(shù)問題描述:輸入一個整數(shù),判斷其奇偶性。輸入:整數(shù)n輸出:n是奇數(shù)或n是偶數(shù)輸入樣例:3輸出樣例:3是奇數(shù)1. #include<stdio.h>2. intmain()3. (4. inta;5. scanf("%d'&a);6. if(a%2=0)7. printf("%d是偶數(shù)na);8. else9. printf(M%d是奇數(shù)n'a);10. return0;11. )【設(shè)計型】5.2絕對值問題描述:輸入一個實數(shù),不使用絕對值函

17、數(shù)計算并輸出該實數(shù)的絕對值。輸入:一個實數(shù)輸出:該實數(shù)的絕對值輸入樣例:"3.5輸出樣例:3.51. #include<stdio.h>2. main()3. (4. floata;5. scanf("%f&a);6. if(a>=0)7. printf("%.6fnM,a);8. ,else9. printf(M%.6fn",-a);10. return0;11. 【設(shè)計型】5.3判斷閏年問題描述:輸入一個年份,判斷其是否閏年。輸入:整數(shù)year輸出:year是閏年或year不是閏年輸入樣例:2004輸出樣例:2004是閏年1

18、. #include<stdio.h>2. intmain()3. (4. intyear;5. scanfCd'&year);6. if(year%4=0)&&(year%100!=0)|(year%400=0)7. printf("%d是閏年n",year);8. .else9. printf("%d不是閏年n",year);10. return0;11. )【設(shè)計型】5.4出租車計費題目描述根據(jù)某城市普通出租車收費標準編寫程序?qū)囐M進行計算。具體標準如下:起步里程為3km,起步費10元:10km以內(nèi)超過起

19、步里程部分,每千米2元,超過10km以上的部分,每千米3元。輸入行駛里程數(shù)(單位千米)。輸出乘客應(yīng)支付的車費(單位元),結(jié)果四舍五入,保留到元。樣例輸入12.5樣例輸出32題目來源:2012年秋季期末考試1. .#include<stdio.h>2. intmain()3. (4. floata“b;5. scanf(”%f&a);6. if(a<=3)7. b=10;8. if(a>3&a<=10)9. b=10+(a-3)*2;10. if(a>10)11. b=24+(a-10)*3;12. ppintf(“.0fn",b);

20、13. return0;14. )【設(shè)計型】5.5整數(shù)位數(shù)判斷輸入一個不多于5位的正整數(shù),要求:(D求它是幾位數(shù);逆序打印出各位數(shù)字。1. .#include<stdio.h>2. intmain()3. (4. intnumjab,cd)e;5. scanf(M%d&num);6. if(num<=0)|(num>=100000)7. printf("Invalidinputn");8.9. elseif(num/10=0)10. (printf(Mln%dn",num);11. elseif(num/100=0)12. .pri

21、ntf("2n%d%dn",num%10,num/10);13. elseif(num/1000=0)14. (15. a=num%10;16. b=num/100;17. c=(num-100*b)/10;18. printf('3n%d%d%dn",a,c,b);19. )20. elseif(num/10000=0)21. (22. a=num%10;23. b=num/1000;24. c=(num-1000*b)/100;25. d=(num-1000*b-100*c)/10;26. printf(M4n%d%d%d%dn",a,d,c

22、,b);27. )28. else29. (30. a=num%10;31. b=num/10000;32. c=(num-10000*b)/1000;33. d=(num-10000*b-1000*c)/100;34. e=(num-10000*b-1000*c-100*d)/10;35. printf("5n%d%d%d%d%dn'a,e>d,cJb);36. 37. return0;38. 【設(shè)計型】5.6判斷某年某月的天數(shù)一年有365天,有的月份有31天,有的有30天,2月份閏年的時候是29天,非閏年的時候是28天?,F(xiàn)在要求從鍵盤上輸入一個年份和月份,輸出其對應(yīng)

23、的天數(shù)。1. .#include<stdio.h>2. intmain()3. (4. intyearmonthdays;5. .scanf("%d%d、&year,&month);6. switch(month)7. 9.case 3:10.case 5:11.case 7:12.case 8:13.case 10:14.case 12: days=31;break;15.case 4:16.case 6:17.case 9:18.case 11: days=30;break;19.case 2:20.if(year % 4 =0) &&

24、 (21.days=29;22.else23.days=28;24. )25. printf(M%dnM,days);26. return 0;27. )8. case 1:% 100 !=0) | (year % 400 =0)【設(shè)計型】5.7判斷輸入的字符的類型我們將字符分為五類:大寫字母、小寫字母、數(shù)字、控制字符、其他字符。編寫程序,從健盤輸入一個字符,輸出字符所屬的類型:大寫字母時輸出capitalhtteis,小寫字母時輸出smallletters,數(shù)字是輸出比ures,其他字符時輸出o由ers。1. .#include<stdio.h>2. intmain()3. (4

25、. charch;5. scanf(“%c&ch);6. if(ch>='A,&&ch<='Z')7. printf("capitallettersn");8. elseif(ch>='a,&&ch<='z')9. printf("smalllettersn");10. elseif(ch>='0,&&ch<='9')11. printf(MfiguresnM);12. else13. .pr

26、intf("othersnM);14. return0;15. )第6章循環(huán)控制結(jié)構(gòu)【設(shè)計型】6.1求n的階乘問題描述:從健盤輸入整數(shù)n,編程計算并輸出n!。輸入:整數(shù)n輸出:n的階乘輸入樣例:10輸出樣例:105=36288001. .#include<stdio.h>2. intmain()3. 4. intin;5. longlongy;6. scanf("%dM,&n);7. y=i;8. for(i=n;i>=l;i-)9. 10. y=y*i;11. )12. printf("%d!=%lldn"Jn,y);13.

27、return0;14. )【設(shè)計型】6.2輸出一行星號問題描述:編寫程序在一行中輸出N個星號。輸入:星號個數(shù)值N輸出:一行中N個星號1. .#include<stdio.h>2. intmain()3. (4. intin;5. scanf("%d'&n);6. for(i=l;i<=n;i+)7. 8. printf("*M);9. )10. printf("n");11. return0;12. )【設(shè)計型】6.3編程計算問題描述編寫程序,輸入n的值,求4+1/5-L6+1/7-.+1治(保留四位小數(shù))輸入n的值輸出

28、上述算式的求和結(jié)果(結(jié)果保留四位小數(shù))輸入樣例1輸出樣例sum=1.0000時間限制®1內(nèi)存限制©額外進程;二1秒64M0|1.#include<stdio.h>2. intmain()3. 4. intn,f=l;5. inti=l;6. doublej,sum=0;7. scanf("%d'&n);8. while(i<=n)9. (10. j=l/(double)i;11. sum+=j*(double)f;12. i+;13. f=-f;14. )15. .printf(Msum=%.41fnM,sum);16. retu

29、rn0;17. )【設(shè)計型】6.5最大公約數(shù)【輸入】兩個正整數(shù)m和n【輸出】m和n的最大公約數(shù)和最小公倍數(shù)【輸入樣例】28【輸出樣例】thegreatestcommondivisoris2thehastcommonmukphis81. #include<stdio.h>2. #include<stdlib.h>3.4. intmain()5. (6. doublen;intx?y,r;7. scanf(M%lf&%&n);8. x=m;9. y=n;10. r=x%y;11. while(r!=0)12. (13. x=y;14. y=r;15. r=x

30、%y;16. 17. printf("thegreatestcommondivisorisy);18. printf("theleastcommonmultipleis%.0fn'm*n/y);19. return0;20. 【設(shè)計型】6.6水仙花數(shù)問題描述輸出所有的水仙花數(shù)。所謂的水仙花數(shù)是指一個3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如153是一水仙花數(shù),因為153=153+33輸入無輸出所有的水仙花數(shù)提示:輸出語句1. #include<stdio.h>2. #include<stdlib.h>3. intmain()4. 5. int

31、6. for(x=100;x<1000;)7. 8. a=x/100;9. b=(x%100)/10;10. c=x-a*100-10*b;11. if(x=a*a*a+b*b*b+c*c*c)12. printf(M%dnx);13. x+;14. )15. return0;16. 【設(shè)計型】6.7素數(shù)問題描述輸入兩個正整數(shù)m和n,求出En,n區(qū)間的所有素數(shù)輸入兩個整數(shù)m和n輸出h,n區(qū)間的所有素數(shù)輸入樣例210輸出樣例23571. .#include<stdio.h>2. .#include<math.h>3. intmain(void)4. 5. int6.

32、 scanf("%d%d;&%&n);7. if(m>n)8. 9. i=m;10. m=n;11. n=i;12. )13. ,for(x=m;x<=n;x+)14. (15. y=sqrt(x*1.0);3.24.25.if(x%i=0)break;16. for(i=2;i<=y;i+)printf(Mn");return0;26.第8章數(shù)組【設(shè)計型】8.1挑選小白鼠描述實驗室有一批小白鼠,為了評估他們的健康程度,我們?yōu)槊恳恢恍“资蠖荚O(shè)定了一個“健康指數(shù),現(xiàn)在我們需要進一步的評估這批小白鼠的健康均

33、衡程度,因此我們需要從中找到健康指數(shù)差距最大的兩只小白鼠的編號,以此來進一步的進行評估。關(guān)于輸入第一行是一個整數(shù)n(2<=n<=100),表示的是一共有n只小白鼠。第二行是n個整數(shù)(互不相同),分別表示n只小白鼠的健康指數(shù),同時根據(jù)輸入順序,從1開始為其編號1,2.n。也就是說第一個整數(shù)是第一只小白鼠的健康指數(shù),第二個整數(shù)是第二只小白鼠的健康指數(shù),依次類推。關(guān)于輸出輸出健康指數(shù)差距最大的兩只小白鼠的編號。第一個數(shù)是健康指數(shù)較大的小白鼠的編號,第二個數(shù)是健康指數(shù)較小的小白鼠的編號。測試輸入期待的輸出時間限制內(nèi)存限制額外進測試用例1以文本方式顯示1. 10*2. 12345678911

34、,以文本方式顯示1.1011秒64M01. #include<stdio.h>2. #include<stdlib.h>3. intmain()4. 5. intn;6. scanf("%d'&n);7. inthealth2n;8. int9. for(i=0;i<n;i+)10. 11. scanf(M%d",&healthli);12. )13. max=healthl0;14. min=healthl0;15. for(i=0;i<n;i+)16. (17. if(max<=healthli)18. (19. max=healthli;20. a=i+l;21. )22. if(min>=healthli)23. 24. min=healthli;25. b=i+l;26. 27. )28. printf("%d%dn",a,b);29. return0;30. 【設(shè)計型】8.2統(tǒng)計素數(shù)的個數(shù)求出2到m之間(含m,m<=1000)所有素數(shù)并放在數(shù)組a中。輸入:正整數(shù)m輸出:從小到大的所有素數(shù),及個數(shù)(素數(shù)輸出的時候用%4d來控制)如:輸入:10輸出:235741. #include<stdio.h&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論