![C語(yǔ)言程序設(shè)計(jì)習(xí)題答案_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/81312d05-0429-4b5b-a888-3d458ad5eb35/81312d05-0429-4b5b-a888-3d458ad5eb351.gif)
![C語(yǔ)言程序設(shè)計(jì)習(xí)題答案_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/81312d05-0429-4b5b-a888-3d458ad5eb35/81312d05-0429-4b5b-a888-3d458ad5eb352.gif)
![C語(yǔ)言程序設(shè)計(jì)習(xí)題答案_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/81312d05-0429-4b5b-a888-3d458ad5eb35/81312d05-0429-4b5b-a888-3d458ad5eb353.gif)
![C語(yǔ)言程序設(shè)計(jì)習(xí)題答案_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/81312d05-0429-4b5b-a888-3d458ad5eb35/81312d05-0429-4b5b-a888-3d458ad5eb354.gif)
![C語(yǔ)言程序設(shè)計(jì)習(xí)題答案_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/81312d05-0429-4b5b-a888-3d458ad5eb35/81312d05-0429-4b5b-a888-3d458ad5eb355.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、貝啟內(nèi)客40C語(yǔ)言程序設(shè)計(jì)習(xí)題答案習(xí)題一 C語(yǔ)言程序設(shè)計(jì)概述一、名詞解釋(1)程序PI (2)程序設(shè)計(jì)Pl(3)機(jī)器語(yǔ)言PI (4)匯編程序P2(5)高級(jí)語(yǔ)言P2 (6)編譯程序P3 (7)解釋程序P3 (8)算法P4(9)結(jié)構(gòu)化的程序設(shè)計(jì)P9二、簡(jiǎn)述題1. 設(shè)計(jì)程序時(shí)應(yīng)遵循哪些基本原則? P4答:正確性、可靠性、簡(jiǎn)明性、有效性、可維護(hù)性、可移植性。2. 算法的要素是什么?算法具有哪些特點(diǎn)?答:算法的要素是:操作與控制結(jié)構(gòu);算法的特點(diǎn)有:有窮性、確左性、有效性、有零個(gè)或多個(gè)輸 入、有一個(gè)或多個(gè)輸出。3. 算法的表示形式有哪幾種?答:算法的表示形式有:自然語(yǔ)言、傳統(tǒng)流程圖、偽代碼、結(jié)構(gòu)化的流程圖
2、(N_S流程圖,盒圖)。4. 有哪三種基本結(jié)構(gòu)?答:三種基本結(jié)構(gòu)是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。5. 傳統(tǒng)流程圖與N-S流程圖最大的區(qū)別是什么?答:N-S流程圖去掉了在傳統(tǒng)流程圖中常用的流程線,使得程序的結(jié)構(gòu)顯得更加淸晰、簡(jiǎn)單。三、用傳統(tǒng)流程圖、N-S圖分別表示求解以下問(wèn)題的算法。1.有3個(gè)數(shù)a, b, c,要求按由大到小的順序把它們輸出。2. 依次將10個(gè)數(shù)輸入,求岀其中最大的數(shù) 和最小的數(shù)并輸岀。3. 求 1+2+3+-+100 的值。輸入一個(gè)數(shù)給Xmax=x:Inin=x;n=l;當(dāng)n小于10時(shí)輸入下一個(gè)數(shù)給X如果 max<xmax = X如果 min>x YCSNOmin
3、 = Xn = n + 1輸岀max,min的值4.求 1 ×2×3××10 的值。5.求下列分段函數(shù)的值。3X4X-15(X-I)÷6(X<l)(X=I)(1<X<5)6-3X(X>5)6.求IOO-200之間的所有素?cái)?shù)。i=100當(dāng)i<=200時(shí)n=2; flag=l;當(dāng)nv i時(shí)否被n整|愛(ài)/yesAag=On = n+1flag= 1 ?yesno輸出i的i = i+13=0 一* 假非二次方程相等 實(shí)根 -b2abP =-ZaVI _ -÷ vt -Aac2aJ-(b' -A(IC)q
4、= -_;Iar - - yb2 _ 4acVn A 2-2d兩次根:XK x2復(fù)根:P十qip-7.求一元二次方程ax2+bx+c=0的根。分別考慮d=b-4ac大于0.等于0和小于0三種情況。四、注釋下面C程序的各個(gè)組成部分。main()/*主函數(shù)*/*程序開(kāi)始*/int a, k, m;a=10;/*左義三個(gè)用來(lái)存放整數(shù)的變量*/*將整數(shù)10賦值給變量a */22; m=l;/*將整數(shù)2賦值給變量k */*將整數(shù)1賦值給變量1 */a= (k÷m) *k (k-m); Printf (,zdzz, a);/*先求出算術(shù)表達(dá)式的值,并將其賦值給變量a/*在屏幕上打印出變量a的值*
5、/*程序結(jié)朿*/習(xí)題二數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式一. 選擇題1 10: BCDCB DDBCA11-20: ADDAA DBADC212& DABAD CDD二、填空題1.字母L 或字母12.字符或c、整數(shù)或d3.在程序運(yùn)行過(guò)程中,其值可以在一宦的范國(guó)內(nèi)變化的雖:。4.'0'5.小數(shù)形式、指數(shù)形式6.關(guān)鍵字、預(yù)泄義標(biāo)識(shí)符、用戸標(biāo)識(shí)符7.字母、數(shù)字、下劃線、數(shù)字8.189.2 、 1、3010.雙精度實(shí)數(shù)或doubleIL賦值 >逗號(hào)、20、20.20、412.4習(xí)題三順序程序設(shè)計(jì)一. 選擇題1 10: BCCBC CCDCC->填空題1. PrilHf( )
6、、SCanf()2. 1 (注:1Ong的第1個(gè)字符)3. 域?qū)?,即在格式字符前加一個(gè)整數(shù),如5d4. W26.67.S.C8.*9. 、+10.三、編程題1. 編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)以秒為單位的時(shí)間數(shù),將其換算成幾小時(shí)幾分幾秒,然后進(jìn) 行輸岀。例如輸入的時(shí)間為4258秒,則輸岀結(jié)果為:1小時(shí)10分58秒。答:程序參見(jiàn)文件CProgramxl3_3_01 .C#include MStdiO.hmain()int XhmSscanf(,%dx);h=x3600; m=x%360060; s=x%60;Printf(H%ds=%dd%d!n,x,hjn,s);2. 編寫(xiě)程序,讀入三個(gè)整數(shù)給變量a
7、、b、c然后交換它們中的數(shù),把a(bǔ)中原來(lái)的值給b,貝啟內(nèi)客把b中原來(lái)的值給c,把C中原來(lái)的值給氛 答:程序參見(jiàn)文件邙rogranxt3-3.02.c#include MStdiO.h,'main()int a,b.c,t;Printf(Hi nput a b c:°);SCanf(H%d%d%d,Aa,&b.&c);Printf(Ma=%d5b=%dx=%dn,a,b,c); t=a;a=c;c=b:b=t;Printf(Ha=%d.b=%dx=%dn,a,b,c);習(xí)題四選擇結(jié)構(gòu)程序設(shè)計(jì)一、填空題11()2. !%+V=!=&& Il =3.
8、X=O4. 0.25. 20、00二、選擇題1 7: DDCAD DC三、程序閱讀題L 5959592. 0.5000003. _4. 2_5. 6_6. a=2.b=l7 PaSS& J_四、編程題1. 設(shè)a為整型變量且其值大于零,請(qǐng)將以下if語(yǔ)句改寫(xiě)成SWitCh語(yǔ)句。if ( a<60)m=1;else if(a<70) m=2;else if(a<80) m=3;else if(a<90) m=4;else m=5;答:程序參見(jiàn)文件 CPrOgranIxt4_4_l .c 或 CPrOgramxt4_4_lb.c#include stdio.humain
9、()int a,m;scanf(%dM,&a);SWitCh(a10)case 0:CaSe 1:CaSe 2:CaSe 3:CaSe 4:CaSe 5:m=1 ;break;CaSe 6:m=2;break;CaSe 7:m=3;break;CaSe 8:m=4;break;default:m=5;break;Printf(Mm=%dn,m);CPrOgramxt4_4_1 b.c# include HStdiO.hymain()int a,m;SCanfc,%da);m=0;SWitCh(a10)defaults+;CaSe 8:m+;CaSe 7:m+;CaSe 6:m+;CaS
10、e 5:CaSe 4:CaSe 3:CaSe 2:CaSe 1:CaSe 0:m+;Printf(Mm=%dn,m);2. 編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)整數(shù),打印出它是奇數(shù)還是偶數(shù)。答:程序參見(jiàn)文件CProgramxt4_4_2.c#include HStdiO.hmain()int a;SCanfC,%da);if(a%2=1)Printf(H%d is a Odd number !n1a);elsePrintf(,%d is a even number !n,1a);3. 編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)字符,判別它是否是小寫(xiě)字母,如果是,將它轉(zhuǎn)換為大寫(xiě)字母:如果不是, 不轉(zhuǎn)換。然后輸岀最后得到的字符
11、。答:程序參見(jiàn)文件CProgramxt4_4_3.c#include HStdiO.hmain()char ch;SCanfe%c”,&ch);if(ch>=,a* && ch<=,z,)Ch=Ch-32;Printfe%cn,ch);4. 編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)不多于4位的正整數(shù)打印出它是幾位數(shù)。答:程序參見(jiàn)文件CProgramxt4_4_4.c#include HStdiO.hmain()int x1n;SCanfc,%d×);if(x>1000) n=4;else if(x>100) n=3;else if(x>10) n
12、=2;else n=1;Printf(%dn,1n);5. 當(dāng)一個(gè)人的月收入在2000元以下時(shí)免稅;月收入在2000元到5000元之間時(shí),超過(guò)2000的部分納稅 8%;月收入在5000元以上時(shí),2000至5000之間的部分納稅8%,超過(guò)5000的部分納稅15%。編寫(xiě) 程序從鍵盤(pán)輸入月收入income,計(jì)算并輸出應(yīng)交稅款tax。答:程序參見(jiàn)文件CProgramxt4_4_5.c#include HStdiO.h,tmain()int in come;float tax;SCanf(M%d,aincome);if(income<=2000)tax=O;else if(income<=5
13、000)tax=0.08*(income-2000);else tax=0.08w(5000-2000)+0.15*(income-5000);Printf (MtaX=%fnHltax);6. 回文是指正讀和反讀都一樣的數(shù)或字符串。例如:12321、55455、35553等都是回文。請(qǐng)編寫(xiě)一個(gè)程序, 從鍵盤(pán)上讀取一個(gè)包含五位數(shù)字的長(zhǎng)整數(shù),并判斷它是否是回文。(提示:用除法運(yùn)算和求余運(yùn)算把一個(gè) 數(shù)的個(gè)位、十位、百位、千位等分別分離出來(lái)。)答:程序參見(jiàn)文件CPrOgramxt4_4_6.c#include HStdiO.h,tmain()long x;int a,b5d,e;SCanf(I,%l
14、d,1Ax);a=x10000;b=x%10000/1000;d=x%100/10; e=x%10;if(a= && b=d)Printf(H%ld is huiwen!n,x);elsePrintf(I,%ld is not huiwen!n,ix);習(xí)題五循壞結(jié)構(gòu)程序設(shè)計(jì)一、閱讀題1. 82. 43213. X404. -15. 236. 527. 58. 3二、填空題1. 182. 23. b=i+l4. 175iv=9.i%3!=06 d=l .0、k=k+l、kv=10三、選擇題1 8: ADDAB DDA四、編程題1. 編寫(xiě)程序,打印岀所有的“水仙花數(shù)”,所謂“水仙
15、花數(shù)”是指一個(gè)三位數(shù),英各位數(shù)字的立方之和 等于該數(shù)本身。例如,407是一個(gè)“水仙花數(shù)”,因?yàn)椋?07二4'+0'+7'° (注:若將題意改為打印岀最大的 或最小的“水仙花數(shù)”,則應(yīng)將循環(huán)語(yǔ)句作如何調(diào)整?)。答:程序參見(jiàn)文件CPrOgramxt5_4_01 .C#include ”StdioHmain()int a,b,ctk;for(k=100;k<=999;k+)求最大的“水仙花數(shù)”改用:for(k=999;k>=1 OOjk-)a=k100;b=k/10%10;c=k%10;if(k=a*a*a+b*b*b+c*c*c) Printfc,%5
16、d,k);/求最大或最小“水仙花數(shù)”時(shí)增加一個(gè)語(yǔ)句:break;Printf (h);2. 編寫(xiě)程序,輸出從公元1980年至2880年所有閏年的年號(hào)。每輸岀5個(gè)年號(hào)換一行。答:程序參見(jiàn)文件CProgramxt5_4_02.c#include HStdiO.h,tmain()int k1flag,n=O;for(k=1980;k<=2880;k+)flag=(k%4=0)&&(k%100!=0)(k%400=0);if(fag) Printf(%5d,k);n+;if(n%10=0)Printf(HnM);Printf Cfn,t);3.編寫(xiě)程序,求 l-3+5-7+-99
17、+101 的值。答:程序參見(jiàn)文件CProgramxl5_4_O3.c#include HStdiO.hmain()int n,t=l,s=1;for(n=3;n<=101 ;n+=2)t=-t; s=s+n;Printf(MS=%dn,s);4編寫(xiě)程序,計(jì)算并輸出下列級(jí)數(shù)的前n項(xiàng)之和n的值從鍵盤(pán)輸入。C 23581321Sn =- + + - + - + + 1235813答:程序參見(jiàn)文件CPrOgranIxt5_4_04.c#include HStdiO.humain()int fz,fm, n,i;float s,t;fz=2;fm=1;s=0;SCanfC,%dn);for(i=1
18、;i<=n;i+)t=(1.0*fz)fm;s=s+t;fz=fz+fm; fm=fz-fm;Printf(Ms=%nM,s);5. 編寫(xiě)程序,求 e 的值 e=l+ll! +1/2! +1/3! +1/4! +ln!答:程序參見(jiàn)文件CPrOgramxt5_4_05.c#include HStdiO.hVOid main()int n,i;float t1fm=1,e=1;SCanfc,%d5&n);for(i=1;i<=n;i+)fm=fm*i; t=1.0fm; e=e+t; Printf(Hn=%d,e=%nr,n1e);6. 已知某球從80米髙度自由落下,落地后反復(fù)
19、彈起,每次彈起的髙度都是上次高度的一半。求此球8 次落地所經(jīng)過(guò)的總路程。答:程序參見(jiàn)文件CPrOgraInxt5_4_06.c#include HStdiO.hVoid main()int n;float s=80,h=s2;for(n=2;n<=8;n+)s=s+2*h;h=h2;Printf(Ms=%n,s);7. 用牛頓迭代法求髙次方程f (X)=2x5-4x2+5x-18=O的根。牛頓迭代公式為:X-f (X-1)f, (Xn-I),其 中f, (Xa-I)為導(dǎo)函數(shù)在點(diǎn)XE的值。答:程序參見(jiàn)文件CPrOgranIxt5_4_07.c#include ”StdioH# includ
20、e Hmath.hHmain()float x1f,f1;X=&/ X的初值可為任意值dof=2wx*x*x-4*x*x+5*x-18;f1=6*X*x-8*X+5; x=x-ff1 ;while(fabs(f)>0.00001);Printfe=%f1f=%nl,1x,f); )8. 用弦截法求高次方程2x5-3x=+7x-13=0的根。答:程序參見(jiàn)文件CProgramxt5_4_0&c# include HStdiO.h,t# include ” math, h”main()float a1b,c1fa1fb,fc;doprintf(MEnter a,b:M);SCa
21、nfe,%f,%f&a,&b);fa=2*awaAa-3wa*a+7*a-13;fb=2*bWbWb-3AbAb+7*b-13;while(fa*fb>O);doc=(a*f b-b*fa)(fb-fa);fc=2*C*C*C-3wC*C÷7*C-13;if(fa*fc>O)a=c;fa=fc;elseb=c;fb=fc;while(fabs(fc)>0.0001);Printf(wx=%fiy=%fnw,c,fc);9. 有這樣一些真分?jǐn)?shù):英分子和分母都是兩位正整數(shù),且分子的個(gè)位數(shù)與分母的十位數(shù)相同,如果把該 分?jǐn)?shù)的分子的個(gè)位數(shù)與分母的十位數(shù)同時(shí)去
22、掉,所得到的新的分?jǐn)?shù)正好與原分?jǐn)?shù)的值相等,如26/65二2/5。 試編程求出所有滿(mǎn)足上述條件的真分?jǐn)?shù)。答:程序參見(jiàn)文件CPrOgranIxt5_4_09.c#include HStdiO.humain()int a,b,c;/設(shè)這個(gè)分?jǐn)?shù)為ab/bcfor(a=l;a<=9;a+)for(b=1 ;bv=9;b+)for(c=1 ;c<=9;c+)40貝啟內(nèi)客if(a<c)&&(1.0*ac=(aw10.O+b)(bM O.O÷c)Printf(M%d%d=%d%d%d%d=%nla,c,a,b,b1c,1.O*ac);10. 編寫(xiě)程序,求數(shù)列:1、(
23、1+1/2)、(1+12÷13)、(1+1/2+1/3+1/4) . (1+1/2+1/3+1/4+1/5) 的前10項(xiàng)之和。答:程序參見(jiàn)文件CPrOgramxt5_4_10.c# include ,stdio.h'tmain()float s1t;int i;S=O,t=O*for(i=1;i<=10;i+)t=t÷1.0i; s=s+t; Printfe,s=%nts);)11. 編寫(xiě)程序,求3到100之間的所有素?cái)?shù)之和。答:程序參見(jiàn)文件CPrOgramxt5_4_l 1 .c# include ,stdio.h'tmain()int sj,k,f
24、lag;s=0;for(i=3;i<=100;i+)fag=l;for(k=2;k<i;k+)jf(i%k=0)flag=O;break;if(fag)s=s+i;Printf(H%4d,1i);)Printf(nsum=%d,1s);12. 編寫(xiě)程序,求FIbonacci數(shù)列中大于800的最小的一個(gè)數(shù)。答:程序參見(jiàn)文件CPrOgranIxt5_4_l2.c#include MStdiO.hVoid main()intf1=1,f2=1,f3;while(f3<=800)f3=÷f2;f 1 =f2;f2=f3;Printf(MFibOnaCCi 數(shù)列中大于 800
25、 的最小數(shù)是%5dnM,f3);習(xí)題六數(shù)組一、選擇題1-10: BDBCD CDBAB11 20:BCDCCDABBC21 30:CCADCABBCB31 41:BDDDDCDCCB A二、填空題19 、02. 先行后列3. 連續(xù)的存儲(chǔ)空間中4. QUiCkC5. (c=gctchar()、'A'+i 或 65+i6. '()'.shiislr2i7. CDABC8. 1()149. 610. 1 ()()()()0100000100000100000111. 60()12. AZyD134 SomC String *tcst三、編程題1. 立義一個(gè)有20個(gè)元素
26、的整型數(shù)組,分別求出下標(biāo)為奇數(shù)和偶數(shù)的元素的平均值。答:程序參見(jiàn)文件CPrOgramxt6_3_01 .c# include HStdiO.h,t# include ” math, h”main()int i,s0=0,s1=0,a20;for(i=0;i<20;i+)ai=rand()%100;for(i=0;i<20;i+=2)printf(,%3dtai);s=s+ai;Printf(M SUm is:%Cl ave=%fn,s,s10.0);for(i=1;i<20;i+=2)printf(,%3d,ai);s1=s1+ai;Printf(H SUm is:%d av
27、e=%fn,t,s1 ,s110.0);2. 設(shè)有一個(gè)整型數(shù)組,另輸入一個(gè)整數(shù),編程?hào)苏疫@個(gè)整數(shù)是否在數(shù)組中出現(xiàn)過(guò),若岀現(xiàn),則輸出第一 次出現(xiàn)的位置,否則,輸出no foundo答:程序參見(jiàn)文件CPrOgraInxt6_3_02.c#include HStdiO.h# include ” math, h”main()int i,s,a20;for(i=0;i<20;i+) ai=rand()%1OO;SCanfC,%ds);for(i=0;i<20;i+)if(ai=s)printfnound:a%d=%dnMIi,ai); break;if(i=20)Printf(MnO fou
28、ndnr,); for(i=0;i<20;i+)Printf(M%3d1ai);Printf Ctnu);3. 設(shè)有一個(gè)已排好序的數(shù)組,今輸入一個(gè)數(shù),要求按原來(lái)排序的規(guī)律將它插入到數(shù)組中。答:程序參見(jiàn)文件CProgramxt6_3_03.c#include l,stdio.ht,#define N 10main()int i, J, SI aN=17115113,11,9,7,5,3,1 ; /int aN=1,3,5,7,9,11,13,15,17; SCanf(M%ds);i=0;if (a0<a1)While(S>ai) i+;elseWhiIe(S<ai) i+
29、;forG=N-1;j>i;HaDl=aj-ll;aj=s;for(i=0;i<N;i+)Printf (,%3d,ai);Printf (,nt,);4. 編一程序,從一個(gè)已排好序的數(shù)組中刪去某個(gè)位宜上的元素。答:程序參見(jiàn)文件CPrOgraInxt6_3_04.cinclude t,stdio.hi,#define N 10main()int i, J, aN=1,3,5,7,9,11,13,15,17119;for(i=0;i<N;i+)Printf(M%3d,ai);Printf (,nt,);SCanf(M%d,&);forG=i;j<N-1;j+) a
30、j=a÷1;aj=O;for(i=0;i<N;i+) Printf(M%3d,ai);PrintfC,nr,);5. 將一個(gè)二維數(shù)組的行、列互換后存到另一個(gè)二維數(shù)組中并輸出結(jié)果。40貝啟內(nèi)客答:程序參見(jiàn)文件CPrOgranlxt6-3-05.c#include ',stdio.ht,main()int i,j;int a34=1,3,5,7,9,11,13,15,17,19,21,23,b43;for(i=0;i<4;i+)for(j=0j<3y+)biO=aQi;Printf(I,array a:nn);for(i=0;i<3;i+)for(j=0j
31、<4+)Printfc%5dll1ajD);Printf(Mnu);Printf(,array b:rf);for(i=0;i<4;i+)for(j=0;j<3;j+)Printfc%5d,1bi0J);Printfe,nu);6. 編一程序,在一個(gè)二維數(shù)組中,査找第一次出現(xiàn)的負(fù)數(shù),并輸出該數(shù)及其所在的行、列號(hào)。答:程序參見(jiàn)文件CPrOgraInxt6-3-06.c#include MStcIio.hf,main()int j,fag;int a34=13,5,7,9,11,13,-15,17,19,-21,23;tag=O;for(i=0;i<3;i+)for(j=0
32、;j<4;j+)if(aijv)fag=1;Printf(Wfound%d%d=%dnl,1ij,aiOJ);i=j=100;/可使雙重循環(huán)提前結(jié)束if(fag=O)Printf(,no found );Printf(Marray a:rT);for(i=0;i<3;i+)for(j=0j<4+)Printf(M%5daij);Printf(Mnu);7. 編程將一個(gè)字符數(shù)組中的字母,按由大到小的順序進(jìn)行排序。答:程序參見(jiàn)文件CPrOgramxt6-3-07.c#include MStdiO.hM#include l,string.hmain()char t1s=MABCDl
33、VBHFBVoNLKFDBm;int ij,n;PUtS(S);n=strlen(s);for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(si<sD)t=si;si=sO;sO=t;PUtS(S);8. 輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)英語(yǔ)單詞,單詞之間用空格隔開(kāi)。答:程序參見(jiàn)文件CProgramx(6_3_0&cinclude MStdiO.ht,#include ,string.hmain()char s81;int w,i,n;gts(s);i=0;n=0;w=0;WhiIe(Si!=,0,)if(si",)w=0;*end Of
34、 a word7elseif(w=O)w=1 ;n+;*begin Of a WOrd7i+;Printf(HnUmber Of WOrd%dnw,n);9. 編程將兩個(gè)一維數(shù)組中的對(duì)應(yīng)元素的值相減后進(jìn)行輸出。答:程序參見(jiàn)文件CPrOgranlxt6_3_09.cinclude l,stdio.ht,include ,math.hMmain()int i,a10,b10;for(i=0;i<10;i+)ai=rand()%100; Printf(H%4d,ai);)Printf (,nt,);for(i=0;i<10;i+)bi=rand()%100; Printfc,%4d,bi
35、);)Printf (l,nt,);for(i=0;i<10;i+)Printfc,%4d,ai-bi);Printf (,nt,);10. 有n個(gè)無(wú)序的數(shù)放在數(shù)組a中.請(qǐng)將相同的那些數(shù)刪得只剩得一個(gè),輸出經(jīng)過(guò)刪除后的數(shù)據(jù)。答:程序參見(jiàn)文件CPrOgraInxt6-3-lOxinclude t,stdio.hi,main()int i,j,k,a10=90,20,40,30,50,50,50,50,20,80;for(i=0;i<10;i+)Printf(H%4d,ai);Printf (,nt,);for(i=0;i<9;i+)for(j=i+1;jv10;j+)if(aU
36、=a)aj=-888;)k=0;for(i=0;i<10;i+)if(ai!=-888) Printf(M%4d,1ai);ak÷÷=ai;不相同的有效元素只有K個(gè)了Printfc,nt,);11求二維數(shù)組中這樣一個(gè)元素的位置:它在行上最小,住列上也最小。如果沒(méi)有這樣的元素則輸出相 應(yīng)的信息。答:程序參見(jiàn)文件CPrOgramxt6_3_l 1.cinclude MStdiO.hninclude Mmath.hMmain() intj,i,kJag,fz=05a45;for(i=0;i<4;i+)forO=0;j<5;j+)aij=rand()%100;Pr
37、intf(W%4dH,ai0);Printf (n,); for(i=0;i<4;i+)forQ=0j<5j+)fag=1;for(k=0;k<5;k+)if(aik<aiD)flag=O;break; for(k=0;k<4&&flag;k+) if(akD<aiD)flag=O;break;if(fag)fz+; Printf(Mmin a%d%d=%dn,i,j1aiO);) if(fz=O)Printf(,no found!*1);12. 在一個(gè)二維數(shù)組中形成并輸出如下矩陣:2 1113 2 11l- 5 4 3 21 -1111 -
38、4 3 2 140貝啟內(nèi)客答:程序參見(jiàn)文件CPrOgranlxt6-3-l2.cinclude MStdiO.hf,#define N 5main()intj1i,aNN;for(i=0;i<N;i+)for(j=0;j<N;j+)if(dj)aD=1;else if(j=0)aiDl=i÷l ;elseaij=aM0-1;for(i=0;i<N;i+)forQ=0;j<N;j+)Printfc%4d,aij);PrintfCfXn");13.已知A是一個(gè)3×4的矩陣,B是一個(gè)4×5的矩陣,編程求A×B得到的新矩陣C,并
39、輸岀C矩陣。答:程序參見(jiàn)文件CProgramxt6_3_ 13cinclude HStdiO.hmain()int j,i,k,a34=1,2,3,4,5,6,7,8,9,10,11,12;int b45=312t1,5,4,432,5,1,2,31514J ,7,8,5,6,9, c35;Printfc,array A(3M)n);for(i=0;i<3;i+)forO=0;j<4;j+)Printfc%4d,aij);Printf (nu);Printf("array B(4*5):n°);for(i=0;i<4;i+)forO=0<5J+)Pr
40、intfe%4d,bij); Printf(Anlt);for(i=0;i<3;i+)forG=0;j<5;j+)ciD=O;for(k=0;k<4;k+)ciU÷=aik*bk;Printf(Harray C(3*5)=A * B:rT);for(i=0;i<3;i+)for(j=0;j<5;j+)Printf(W%4dw,ciD);Printf (h);14. 編程輸出兩個(gè)字符串中對(duì)應(yīng)位置上相同的字符。答:程序參見(jiàn)文件CPrOgramxt6_3_ 14.cinclude l,stdio.ht,main()it i;Char a81=,acbsbd V
41、hfejbvewvkbewljbvn;Char b81=nanbdxwdbviuerkjvbfidbvuie bik,f;Printf (l,string 1: %snMIa);Printf(HString2: %sntb);Printf(,string3:w);i=0;while(ai!=,O, && bi!=,Ot)if(ai=bi)Printf(H%c,ai);i+;PrintfC,m);15. 設(shè)有一字符串已按升序排列在字符數(shù)組a中,請(qǐng)將另一字符串b中的字符按升序的規(guī)律插到數(shù)組a 中。答:程序參見(jiàn)文件CProgramx(6_3_ 15.Cinclude l,stdio.
42、ht,#include ”String.h"main()it i,j,k;Char a81=,acdfhjklmopxz,;Char b81=,anbdx;Printf (HStringI: %snta);Printf(,string2: %sntb);i=0;while(bi!=,O,)j=0;While(ajvbi&&aj!-(r)j+ik=strlen(a);while(k>=j)ak+1=ak;k-;afl=bi;i+;Printf(MString3: %snMIa);16. 將已按升序排列的兩個(gè)字符串a(chǎn)和b中的字符按升序歸并到字符數(shù)組C中。答:程序參見(jiàn)
43、文件CPrOgraInxt6_3_l6.cinclude MStdiO.hinclude l,string.hMmain()int i,j,k;Char a81="acdfhjklmopxz"Char b81=,abdnxt,;Char c81;Printf(MStringl: %snMia);Printfc,string2: %sntb); i=O;j=O;k=O;WhiIe(ai!=A0&&bj!=O,)if(ai<bj) ck+=ai+;else ck+=b+;while(ai) ck+=ai+;while(bj)ck+=bfl+;ck=,Ot;
44、Printf(MString3: %snMIC);習(xí)題七函數(shù)一、選擇題1 10: BDCDD BDBAC11 20: AABBB ABAAC21-31: CDAAC DDABB A二、填空題1. 函數(shù)聲明2. 自動(dòng)將具轉(zhuǎn)換為函數(shù)怎義時(shí)的類(lèi)型34.56.10IIOo90000i<=n 、 s 、0. f(k)7.05*(x0+ax0)、 a.xl8.ItiS9.272110.024611k、-112.2 、213P= i、XriIrPl14.515.716.2417. agc(nJ)+2 、 agc(n)18m%l()、n10m 或 m!=0、 r(m)三、編程題1. 編一函數(shù),判斷某年是
45、否為閏年,若是返回1,否則返回540答:程序參見(jiàn)文件CProgramxC7_3_01.c#include <stdio.h>fun (int m)return (m%4=0)&&(m%100!=0)|(m%400=0);main() int n;for (n=1987;n<2009;n+) if(fun(n)Printf(Myear:%d is a leap! n,n);2. 編寫(xiě)計(jì)算三角形面積的程序,將計(jì)算而積立義成函數(shù)。三角形而積公式為:A= ys(s - a)(s b)(s C)式中 s=(a÷b+c)2其中A為三角形面積,a、b、C為三角形的
46、三條邊的長(zhǎng)度。答:程序參見(jiàn)文件CPrOgranIxt7_3_02.c#inClUde <math.h>#include <stdio.h>float fun(float a,float b,float C)float f,s;s=(a+b÷c)2;if(s<=a)(s<=b)(s<=c)/ 或(a+b)>c&&(a+c)>b&&(b+c)>af=0;elsef=sqrt(s*(s-a)*(s-b)*(s-c);return f;)main() float a,b,c;SCanf(H%f%f%f
47、&a,&b,&c);Printf(Marea is:%nH,fun(a,b,c);3. 編寫(xiě)兩個(gè)函數(shù),分別求出兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩 個(gè)函數(shù),并輸出結(jié)果,兩個(gè)整數(shù)由鍵盤(pán)輸入。答:程序參見(jiàn)文件CPrOgramx(7_3_03c#inClUde <math.h>#include <stdio.h>int fmax(int miint n)it r;r=m%n;WhiIe (r!=0)m=n;n=r*m% n;return n;int fmin(int m,int n)return m*nfmax(m,n);)main()
48、int a,b;SCan f(tf%d%dw,&a,&b);Printf(MfmaX is:%dnM,fmax(a,b);40貝Fi內(nèi)客Printf(Mfmin is:%dnM,fmin(a,b);4. 編寫(xiě)函數(shù),根據(jù)整型形參m的值,計(jì)算公式t二I- 的值。例如,若 昉5,則應(yīng)輸出0. 536389o2*2 3*3 In *In答:程序參見(jiàn)文件CProgramxt7_3_04.cinclude <stdio.h>float fn(int m)float t=1;int i;for(i=2;i<=m;i+)t=M.0ii;return t;main()Print
49、f(Mt(5)=%nMIfUn (5);5. 計(jì)算S二1+丄+丄+丄。n由終端輸入,將計(jì)算n!定義成函數(shù)。2! 3! 川答:程序參見(jiàn)文件CProgramxt7_3_05.c#include <stdio.h>float fun(int m)int i;float S=OIt=I;for(i=1;i<=m;i+)t=ti; s=s+t; return s;main() Printf(HS(5)=%nM,fun(5); 6. 編寫(xiě)函數(shù),利用公式: I 11212 312 3 423353573579計(jì)算n的近似值,當(dāng)某一項(xiàng)的值小于1(時(shí),認(rèn)為達(dá)到精度要求。 答:程序參見(jiàn)文件CPr
50、Ogramxt7_3_06.c#include <stdio.h>double fun()int n; double pi=1,t=1;n=1;dot=n(2*n+1);pi=pi+t;n+;while(t>1e-5);return 2*pi;貝啟內(nèi)客main()Printf(MPi=%fnMIfUn();7. 編一函數(shù),判斷某一整數(shù)是否為回文數(shù),若是返回1,否則返回Oo所謂回文數(shù)就是該數(shù)正讀與反讀 是一樣的。例如12321就是一個(gè)回文數(shù)。答:程序參見(jiàn)文件CProgramx(7_3_07cinclude <stdio.h>include <math.h>
51、;int huiwen(int m)int t1n=O;t=m;while(t)n÷÷ t=V10; 求出M是幾位的數(shù)t=m;while(t)if(t(int)pow(10,n-1 )!=t%10) 比較其最高位和最低位return 0;elset=t%(int)pow(1 OIn-I);/去掉其最高位t=V10;/去掉其最低位n=n2;位數(shù)去掉了兩位return 1;main() int x;SCanfe%d,x);if (huiwen(x)Printf(%d is a huiwen!ntx);elsePrintf(,%d is not a huiwen!n,1x);8. 編寫(xiě)一個(gè)求水仙花數(shù)的函數(shù),然后通過(guò)主函數(shù)調(diào)用該函數(shù)求100到999之間的全部水仙花數(shù)。所謂水 仙花數(shù)是指一個(gè)三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。例如:153就是一個(gè)水仙花數(shù):153=1*1*1+5*5*5+3*3*3答:程序參見(jiàn)文件CProgramxl7_3_0&c#include <stdio.h>#inClUde <math.h>int fun8(int m)nt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年竹纖維蓋毯項(xiàng)目投資可行性研究分析報(bào)告
- 無(wú)人機(jī)飛行安全規(guī)范-深度研究
- 微型太陽(yáng)能電池板項(xiàng)目可行性研究報(bào)告申請(qǐng)報(bào)告
- 書(shū)倉(cāng)儲(chǔ)物流合同范例
- 如何做好物資采購(gòu)物資管理工作保證生產(chǎn)有序進(jìn)行
- 業(yè)委會(huì)施工合同范例
- 分公司加盟合同范例
- 供貨協(xié)議蔬菜合同范本
- 個(gè)人雇傭保姆合同范本
- 養(yǎng)殖區(qū)租賃合同范本
- 商業(yè)銀行的風(fēng)險(xiǎn)審計(jì)與內(nèi)部控制
- 2024項(xiàng)目管理人員安全培訓(xùn)考試題及參考答案AB卷
- 2025年與商場(chǎng)合作協(xié)議樣本(5篇)
- 2024年福建漳州人才發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- JTGT F20-2015 公路路面基層施工技術(shù)細(xì)則
- 電力業(yè)務(wù)許可證豁免證明
- 建筑工程資料歸檔立卷分類(lèi)表(全)
- 六年級(jí)上第二單元知識(shí)結(jié)構(gòu)圖
- 溢流堰穩(wěn)定計(jì)算
- 馬曉宏_《法語(yǔ)》_第一冊(cè)復(fù)習(xí)(課堂PPT)
- 道路環(huán)衛(wèi)清掃保潔項(xiàng)目應(yīng)急處置預(yù)案
評(píng)論
0/150
提交評(píng)論