




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章C語(yǔ)言程序設(shè)計(jì)概述習(xí)題答案1 算法的描述有哪些基本方法? 答 1、自然語(yǔ)言2、專用工具 2 C語(yǔ)言程序的基本結(jié)構(gòu)是怎樣的?舉一個(gè)例子說(shuō)明。 答 1、C語(yǔ)言程序由函數(shù)構(gòu)成;2、“/*”與“*/”之間的內(nèi)容構(gòu)成C語(yǔ)言程序的注釋部分;3、用預(yù)處理命令#include、#define可以包含有關(guān)文件或預(yù)定義信息;4、大小寫字母在C語(yǔ)言中是有區(qū)別的;5、除main()函數(shù)和標(biāo)準(zhǔn)庫(kù)函數(shù)外,用戶也可以自己編寫函數(shù),應(yīng)用程序一般由多個(gè)函數(shù)組成,這些函數(shù)指定實(shí)際所需要做的工作。 3 C語(yǔ)言有什么特點(diǎn)? 答&
2、#160;1、具有結(jié)構(gòu)語(yǔ)言的特點(diǎn),程序之間很容易實(shí)現(xiàn)段的共享;2、主要結(jié)構(gòu)成分為函數(shù),函數(shù)可以在程序中被定義完成獨(dú)立的任務(wù),獨(dú)立地編譯代碼,以實(shí)現(xiàn)程序的模塊化;3、運(yùn)算符豐富,包含的范圍很廣;4、數(shù)據(jù)類型豐富;5、允許直接訪問(wèn)物理地址,即可直接對(duì)硬件進(jìn)行損傷,實(shí)現(xiàn)匯編語(yǔ)言的大部分功能;6、限制不太嚴(yán)格,程序設(shè)計(jì)自由度大,這樣使C語(yǔ)言能夠減少對(duì)程序員的束縛;7、生成的目標(biāo)代碼質(zhì)量,程序執(zhí)行效率高,同時(shí)C語(yǔ)言編寫的程序的可移植性好。 4 指出合法與不合法的標(biāo)識(shí)符命名。 答 AB12- leed_3- a*b2-× 8stu-
3、× D.K.Jon-× EF3_3- PAS- if-× XYZ43K2- AVE#XY-× _762- #_DT5-× C.D-× 5 說(shuō)明下列Turbo C熱鍵的功能。 答 F2:源文件存盤 F10:調(diào)用主菜單 F4:程序運(yùn)行到光標(biāo)所在行(用于調(diào)試程序) Ctrl+F9:編譯并鏈接成可執(zhí)行文件 Alt+F5:將窗口切換到 DOS 下,查看
4、程序運(yùn)行結(jié)果。 6 說(shuō)明下列Turbo C方式下輸入并運(yùn)行下列程序,記錄下運(yùn)行結(jié)果。 main() printf("*n"); printf(" welcome you n"); printf(" very good n); printf("*n"); main() int a,b,c,t;
5、60; printf("please input three numbers;"); scanf("%d,%d,%d",&a,&b,&c); /*教材S是錯(cuò)誤的*/ t=max(max(a,b),c); printf("max number is:%dn",t); int max(int x, int y) int z;
6、 if(x>y)z=x; else z=y; return(z); 答 運(yùn)行結(jié)果:* welcome you very good* 運(yùn)行結(jié)果:please input three numbers;3,1,4 /*左側(cè)下劃線內(nèi)容為鍵盤輸入*/max number is:4 7 一個(gè)C程序是由若干個(gè)函數(shù)構(gòu)成的,其中有且只能有一個(gè)函數(shù)。
7、60;答 main() 8 在Turbo C環(huán)境下進(jìn)行程序調(diào)試時(shí),可以使用Run下拉菜單的命令或按鍵轉(zhuǎn)到用戶屏幕查看程序運(yùn)行結(jié)果。 答 1、User screen2、Alt+F5 9 C語(yǔ)言對(duì)標(biāo)識(shí)符與關(guān)鍵字有些什么規(guī)定? 答 1、標(biāo)識(shí)符用來(lái)表示函數(shù)、類型及變量的名稱,它是由字母、下劃線和數(shù)字組成,但必須用字母或下劃線開頭。2、關(guān)鍵字是一種語(yǔ)言中規(guī)定具有特定含義的標(biāo)識(shí)符,其不能作為變量或函數(shù)名來(lái)使用,用戶只能根據(jù)系統(tǒng)的規(guī)定使用它們。 10 C源程序輸入后是如何進(jìn)行保存的? 答&
8、#160;是以C為擴(kuò)展名保存的純文本文件。 第二章C語(yǔ)言程序的基本數(shù)據(jù)類型與表達(dá)式習(xí)題答案1 指出下列常數(shù)中哪些是符合C語(yǔ)法規(guī)定的。 答 ''-× '101'-× ""-× e3-× 019- 0x1e- "abn"- 1.e5-× (2+3)e(4-2)-× 5.2e2.5-× 2
9、160;請(qǐng)找出下列程序中的錯(cuò)誤,改正后寫出程序運(yùn)行結(jié)果。 void main() int x,y=z=5,aver; x=7 AVER=(x+y+z)/3 printf("AVER=%dn",aver); void main() char c1='a'c2='b'c3='c' int a=3.5,b='A' printf(&q
10、uot;a=%db='"endn",a,b); printf("a%cb%cbc%ctabcn",c1,c2,c3); 答 main() int x,y=5,z=5,aver; x=7; aver=(x+y+z)/3; printf("AVER=%dn",aver); 運(yùn)行結(jié)果:AVER=5 main() char c1='a', c2=
11、'b', c3='c' int a=3,b='A' printf("a=%d,b='%c'"end"n",a,b); printf("a%cb%cbc%ctabcn",c1,c2,c3); 運(yùn)行結(jié)果:a=3,b='A'"end"aabcc
12、; abc 3 寫出下列賦值的結(jié)果,表格中寫了數(shù)值的是要將它賦給其他類型的變量,將所有的空格填上賦值后的數(shù)據(jù)(實(shí)數(shù)保留到小數(shù)點(diǎn)后兩位)。int 99 -1 char 'h' unsigned int 66 float 55.78 long int
13、 68 答 int 99 104 66 55 68 -1 char 'c' 'h' 'B' '7' 'D' unsigned int 99 104 66 55 68 65535 float 99.
14、00 104.00 66.00 55.78 68.00 -1.00 long int 99 104 66 55 68 -1 4 寫出程序運(yùn)行結(jié)果。 void main() int i,j; i=8,j=10; printf("%d,%d,%d,%dn",i,j,+i,j+); main() int a=1,b=2,c=30
15、; printf("%d,%d,%d,%dn",a=b=c,a=b=c,a=(b=c),a=(b=c); 注意:a=b=c,a=b=c之間應(yīng)為逗號(hào),教材有誤 答 運(yùn)行結(jié)果:9,11,9,10 運(yùn)行結(jié)果:30,1,0,0 void main() int a=10,b=20,c=30,d; d=+a<=10|b->=20|c+; printf("%d,%d,%d,%dn",a,b,c,d);
16、; 答 運(yùn)行結(jié)果:11,19,30,1 5 寫出下面表達(dá)式的值(設(shè)a=10,b=4,c=5,d=1,x=2.5,y=3.5)。a%=(b%=3)n+,a+=a-=a*=a(float)(a+c)/2+(int)x%(int)ya*=b+c+a-c+b+a-c+ba<b?x:'A'b+=ca+b,18+(b=4)*3,(a/b,a%b)x+a%3*(int)(x+y)%2/4+sizeof(int)a<b?a:c<d?c:db+=ca*=b=c=2a=b=c 答 0 0 9.500000 9
17、0 10 10 'A' 2 4.5 1 0 20 0 6 下列每組表達(dá)式中,被執(zhí)行后結(jié)果完全等價(jià)的是哪些(設(shè)a、b、m是已被賦值的整型變量)? m=(a=4,4*5)與m=a=4,4*5(float)(a/b)與(float)a/b(int)a+b與(int)(a+b)m%=2+a*3與m=m%2+a*3m=1+(a=2)+(b=3)與a=2,b=3,m=1+a+b 答 前面是賦值表達(dá)式,而后面的是一個(gè)逗號(hào)表達(dá)式,所以一定不同;前面的表達(dá)式中a/b結(jié)果為一整數(shù),結(jié)果已經(jīng)取整,精度可能受到影響,之后強(qiáng)制float后才
18、為浮點(diǎn)型,后面的是先將a轉(zhuǎn)換為float后再與b相除,其值保證了精度,所以不同。因?yàn)閍、b均為整數(shù),其前后兩個(gè)表達(dá)式的計(jì)算結(jié)果是一致的。前一表達(dá)式是一算術(shù)表達(dá)式,而后者為一賦值表達(dá)式,此為一點(diǎn)不同;另外,前一表達(dá)式的m只被賦過(guò)一次值,后一表達(dá)式中的m曾兩次被賦值,第一次賦值時(shí)與第一表達(dá)式中的值一致,第二次賦值后即不再相同。前后表達(dá)式的計(jì)算結(jié)果應(yīng)該是一致的:a=2, b=3, m=6 7 條件表達(dá)式x>0?x:-x的功能是什么? 答 如果x的值是一正數(shù),則表達(dá)式的值為x值;如果x的值是一非正數(shù),則表達(dá)式的值為-x。其實(shí)該表達(dá)式的值即為x的絕對(duì)值,C語(yǔ)
19、言中提供了一個(gè)函數(shù)fabs(x)即可完成此功能,該函數(shù)包含在math.h頭文件中。 8 用一個(gè)條件表達(dá)式描述從a、b、c中找出最大都賦給max. 答 max=a>(b>c?b:c)?a:(b>c?b:c); 9 若x為int型變量,則執(zhí)行以下語(yǔ)句后x的值為()。x=6;x+=x-=x*x;A. 36 B. -60 C. 60 D. -24 答 B. 10 若有以下類型說(shuō)明語(yǔ)句:char w; int x; float
20、y; double z;則表達(dá)式w*x+z-y的結(jié)果為()類型。A. float B. char C. int D. double 答 D. 第三章順序結(jié)構(gòu)程序設(shè)計(jì)習(xí)題答案1 變量k為float類型,調(diào)用函數(shù)scanf("%d",&k),不能使變量k得到正確數(shù)值的原因是。 答 格式修飾符與變量類型不一致。因?yàn)?d輸入的數(shù)據(jù)類型應(yīng)該為十進(jìn)制整數(shù),而&k為占用4個(gè)字節(jié)的float類型變量的地址。 2 a=1234,b=12,
21、c=34,則執(zhí)行“printf("|%3d%3d%-3d|n",a,b,c);”后的輸出是。 答 |1234 1234 |分析如下:%3d為右對(duì)齊輸出變量,且指定輸出變量的值寬度為3個(gè)字符位,如果變量實(shí)際位數(shù)小于3,則左端補(bǔ)空格,如果變量實(shí)際位數(shù)大于3,則按實(shí)際長(zhǎng)度輸出,不受限制。%-3d為左對(duì)齊輸出變量,在輸出變量時(shí),如是變量實(shí)際位數(shù)小于3,則在右端補(bǔ)空格,否則按實(shí)際輸出。 3 設(shè)有“int a=255,b=8;”,則“printf("%x,%on",a,b);”輸出是。 答 ff,10如果“print
22、f("%X,%on",a,b);”則輸出為FF,10。說(shuō)明在輸出十六進(jìn)制字母時(shí),其大小寫受格式修飾符的限制,如果是“%x”則輸出小寫,如果是“%X”則輸出大寫。如果希望在輸出十六進(jìn)制時(shí)輸出前導(dǎo)符0x或0X,則以上輸出語(yǔ)句應(yīng)改“printf("%#x,%on",a,b);”為或“printf("%#X,%on",a,b);”。本條解釋不必須掌握。 4 以下程序輸出的結(jié)果是。main() int a1=1,a2=0,a3=2; printf(&qu
23、ot;%d,%d,%dn",a1,a1+a2+a3,a3-a1); 答 1,3,1 5 printf函數(shù)中用到格式符%5s,其中5表示輸出字符占用5列。如果字符串長(zhǎng)度大于5,則按輸出;如果字符串長(zhǎng)度小于5,則按輸出。 答 實(shí)際左端補(bǔ)空格 6 已定義變量如下:int a1,a2;char c1,c2;若要求輸入a1、a2、c1和c2的值,正確的輸入函數(shù)調(diào)用語(yǔ)句是。 答 scanf("%d,%d,%c,%c",&a1,&a2,&c1,&c2);
24、160;7 輸入兩個(gè)整型變量a、b的值,輸出下列算式以及運(yùn)算結(jié)果。a+b、a-b、a*b、a/b、(float)a/b、a%b每個(gè)算式占一行。如a=10,b=5,a+b輸出為:10+5=15 答 設(shè)int a=10,b=5;以下為輸出語(yǔ)句及結(jié)果:printf("%d+%d=%dn",a,b,a+b); 10+5=15printf("%d-%d=%dn",a,b,a-b);
25、 10-5=5printf("%d*%d=%dn",a,b,a*b); 10*5=50printf("%d/%d=%dn",a,b,a/b); 10/5=2printf("%(float)d/%d=%fn",a,b,(float)a/b); (float)10/5=2.000000printf("%d
26、%d=%dn",a,b,a%b); 10%5=0 8 輸入一個(gè)非負(fù)數(shù),計(jì)算以這個(gè)數(shù)為半徑的圓周長(zhǎng)和面積。 答 #define PI 3.1415926main() float r,l,area; printf("Input a positive:"); scanf("
27、;%f",&r); l=2*PI*r; area=PI*r*r; printf("l=%ftarea=%fn",l,area); 9 輸入任意一個(gè)3位數(shù),將其各位數(shù)字反序輸出(例如輸入123,輸出321)。 答 main() int x,y; printf("Input a numb
28、er(100-999):"); scanf("%d",&x); y=100*(x%10)+10*(x/10%10)+x/100; /*注意分析此處算法*/ printf("%d->%dn",x,y); 10 輸入任意大小的3個(gè)整數(shù),判斷其中是否有兩個(gè)奇數(shù)一個(gè)偶數(shù)。若是則輸出YES,不是則輸 出NOT(要求用條件表達(dá)式進(jìn)行判斷,不使用if語(yǔ)句)。 答 main() int x
29、,y,z,oddcount=0;/*奇數(shù)數(shù)計(jì)數(shù)變量*/ printf("Input x,y,z:"); scanf("%d,%d,%d",&x,&y,&z); x%2=1?oddcount+:0; y%2=1?oddcount+:0; z%2=1?oddcount+:0; oddcount=2?printf("YES"):printf("NOT");
30、 11 求前驅(qū)字符和后繼字符。輸入一個(gè)字符,找出它的前驅(qū)字符和后繼字符,并按ASCII碼值,按從大到小的順序輸出這3個(gè)字符及其對(duì)應(yīng)的ASCII碼值。 答 本題考查同學(xué)們對(duì)字符類型數(shù)據(jù)的認(rèn)識(shí),如果在ASCII范圍內(nèi)則即可以顯示為字符,又可以顯示為整數(shù)值;無(wú)論是否能夠顯示為字符,字符類型數(shù)據(jù)是可能參與數(shù)值運(yùn)算的,切記。main() char c; printf("Input character:"); scanf("%c",&c);
31、0; printf("%c->%dn",c-1,c-1); printf("%c->%dn",c,c); printf("%c->%dn",c +1,c+1); getch(); /*為便于調(diào)試程序,運(yùn)行至此程序停頓,此時(shí)可以看到運(yùn)行結(jié)果,按任意鍵程序真難得結(jié)束并返回到編輯環(huán)境*/ 12 輸入三角形的邊長(zhǎng),求三角形面積(面積sqrt(s(s-a)(s-b)(s-c),
32、s=(a+b+c)/2)。 答 #include"math.h" /*由于程序中使用了開平方函數(shù)sqrt(),所以需要包含數(shù)學(xué)頭文件*/main() float a,b,c,s,area; int ok=0; printf("Input a,b,c:"); scanf("%f,%f,%f",&a,&b,&c); a+b>c?ok+:0;
33、0; /*以下3條語(yǔ)句為判斷是否輸入的數(shù)據(jù)是否構(gòu)成封閉三角形*/ a+c>b?ok+:0; b+c>a?ok+:0; ok=3?(s=(a+b+c)/2,area=sqrt(s*(s-a)*(s-b)*(s-c),printf("area=%f",area):printf("error"); getch(); 第四章選擇結(jié)構(gòu)程序設(shè)計(jì)習(xí)題答案1 設(shè)x、t均為int型變量,則執(zhí)行語(yǔ)句“x=10;t=x&&
34、x>10;”后,t的值為。 答 0 2 假定所有變量均已正確定義,則程序段:int a=0, y=10;if(a=0)y- -; else if(a>0)y+;else y+=y;運(yùn)行后 y 的值是; 答 20 3 能表述 20<x<30 或 x<-100 的C 語(yǔ)言表達(dá)式是。 答 x>20&&x<30|+x<-100 4 若有定義語(yǔ)句“int a=25,b=14,c=19;”,則以下語(yǔ)句執(zhí)行結(jié)果是。if(a<=25
35、 && b<=2 && c) printf("*a+b=%d, a-b=%d*n", a+b, a-b);else printf("*a=%d, b=%d, c=%d*n",a, b, c); 答 *a=25, b=14, c=19* 5 假定 i 和 j 為 int 型變量,則執(zhí)行以下語(yǔ)句后 i 的值是。int i=1;switch(i) case 1: for(j=0; j<9; j+) i+=j
36、; break; case 2: for(j=1; j<10; j+) i+=j; break; case 3: i+; 答 37分析:執(zhí)行了case 1: 和case 3: 中的代碼。同時(shí)case 1:語(yǔ)句中的是可以取消的。 6 以下兩條 if 語(yǔ)句可合并成一條 if 語(yǔ)句,即。if(a<=b) x=1;else y=2;if(a>b)printf("*y=%dn", y);else printf("*x=%dn",x);&
37、#160;答 if(a<=b) printf("*x=%dn",x=1);else printf("*y=%dn", y=2); 7 輸入兩個(gè)字符,若這兩個(gè)字符的序號(hào)(ASCII碼)之差為偶數(shù),則輸出它們的后繼字符,否則輸出它們的前驅(qū)字符。 答 main() char a,b; printf("Input two chatacter a,b:"); scanf("
38、%c,%c",&a,&b); if(a-b)/2=0) printf("%c,%c",a+1,b+1); else printf("%c,%c",a-1,b-1); 8 輸入整數(shù) a 和 b ,如果 a 能被 b 整除,就輸出算式和商,否則輸出算式、整數(shù)商和余數(shù)。 答 main() int a,b; printf(&quo
39、t;Input two integer numbers a,b:"); scanf("%d,%d",&a,&b); if(b!=0&&a%b=0) printf("%d/%d=%d",a,b,a/b); else printf("%
40、d/%d=%d.%d",a,b,a/b,a%b); 9 輸入某個(gè)點(diǎn) A 的平面坐標(biāo) (x,y),判斷(輸出)A點(diǎn)是在圓內(nèi)、圓外還是在圓周上,其中圓心坐標(biāo)為 (2,2),半徑為 1。 答 include"math.h"main() float x,y,d; printf("Input x,y:"); scanf("%f,%f",&x,&y);
41、 d=sqrt(x-2)*(x-2)+(y-2)*(y-2); if(d>1)printf("outside"); else if(d<1)printf("inside"); else printf("inside"); 10 輸入年號(hào)和月份,輸出這一年該月的天數(shù)(一個(gè)年份,先判斷是否閏年)。 答 main() int y,m,d
42、,f; printf("Input year and month y-m:"); scanf("%d-%d",&y,&m); f=(y%4=0&&y/100!=0|y/400=0); if(m=2) d=28+f; /*依據(jù)是否閏年決定2月份的實(shí)際天數(shù),若是閏年,則f=1,d即為29天*/
43、; else d=31-(m=4)+(m=6)+(m=9)+(m=11);/*m=4時(shí)其值為1,則本月為30天,典型算法,重要啊*/ printf("%d-%d is %d days.n",y,m,d); 11 請(qǐng)將以下語(yǔ)句改寫成 switch 語(yǔ)句(a>0)。if(a<30) m=1;else if(a<40)
44、 m=2;else if(a<50) m=3;else if(a<60) m=4;else m=5 答 switch(a/10) case 1: case 2: case 3:m=1;break; case
45、4:m=2;break; case 5:m=3;break; case 6:m=4;break; default:m=5; 12 有一函數(shù) x-1 -5<x<0y= x x=0 x+1 0<x<8編寫一程序,要求輸入 x 的值,輸出
46、 y 的值。分別用不嵌套的 if 語(yǔ)句,嵌套的 if 語(yǔ)句,switch語(yǔ)句編寫。 答 使用不嵌套的 if 語(yǔ)句程序如下:main() float x,y; printf("Input x:"); scanf("%f",&x); if(x>-5&&x<0)y=x-1; if(x=0)y=0;
47、0; if(x>0&&x<8)y=x+1; printf("y=%fn",y); 使用嵌套的 if 語(yǔ)句程序如下:main() float x,y; scanf("%f",&x); if(x>-5&&x<8) if(x<0)y=x-1; &
48、#160; else if(x=0)y=0: else y=x+1; printf("y=%fn",y);main() float x,y; scanf("%f",&x); if(x<8)
49、; if(x>0)y=x+1; else if(x=0)y=0; else if(x>-5)y=x-1; printf("y=%fn",y); 使用多分支語(yǔ)句程序如下:main() fl
50、oat x,y; int m; printf("Input x:"); scanf("%f",&x); if(x>-5&&x<8) if(x<0)m=-1; else if(x=0)m=0:
51、160; else m=1; switch(m) case -1:y=x-1;break; case 0:y=0;break; case
52、60; 1:y=x+1;break; printf("y=%fn",y); 以下為假設(shè)對(duì)int類型的變量進(jìn)行處理,但畢竟不算完美m(xù)ain() int x,y; printf("Input x:"); scanf("%d",&x); switch(x)
53、160; case -4: case -3: case -2: case -1: y=x-1; break; case 0: y=0; break;
54、0; case 1: case 2: case 3: case 4: case 5: case 6:
55、0; case 7: y=x+1; break; printf("y=%dn",y); 第五章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)習(xí)題答案1 輸入 n 個(gè)整數(shù),求這 n 個(gè)數(shù)之中的偶數(shù)平均值,并輸出。 答 main() int n,i,x,sum=0,count=0; printf("Input n:"); scanf(
56、"%d",&n); for(i=0;i<n;i+) printf("Input %d:",i+1); scanf("%d",&x); if(x%2=0)sum+=x;count+;
57、 printf("Average is:%fn",(float)sum/count); getch(); 2 輸入一串字符,直到輸入一個(gè)星號(hào)()為止,統(tǒng)計(jì)(輸出)其中的字母?jìng)€(gè)數(shù)和數(shù)字字符個(gè)數(shù)。 答 #include"stdio.h"main() char ch; int charcnt=0,numcnt=0; w
58、hile(ch=getchar()!='*') if(ch>='a'&&ch<='z'|ch>='A'&&ch<='Z')charcnt+; if(ch>='0'&&ch<='9')numcnt+;
59、 printf("Characters number:%dnDigits number:%dn",charcnt,numcnt); getch(); 3 從鍵盤輸入一個(gè)正整數(shù) n,計(jì)算該數(shù)的各位數(shù)字之和并輸出。例如,輸入數(shù)是5246,則計(jì)算5+2+4+617并輸出。 答 #include"stdio.h"main() int n,i,sum=0,count=0;
60、0; printf("Input n:"); scanf("%d",&n); while(n/10)!=0) count+; sum+=n%10; printf("%d
61、+",n%10); n/=10; printf("=%d",sum+n); getch(); 4 輸入一個(gè)字符串,將其中的大寫字母改為小寫字母,小寫字母改為大寫字母,然后輸出。 答 #include"stdio.h"main() char ch;
62、; printf("Input string:"); while(ch=getchar()!='n') if(ch>='a'&&ch<='z')printf("%c",ch-32); if(ch>='A'&&am
63、p;ch<='Z')printf("%c",ch+32); getch(); 5 設(shè)某縣2000年工業(yè)總產(chǎn)值為200億元,如果該縣預(yù)計(jì)平均年工業(yè)總產(chǎn)值增長(zhǎng)率為4.5%,那么多少年后該縣年工業(yè)總產(chǎn)值將超500億元。 答 main() float x=200; int n=0; do
64、60; x*=(1+0.045); n+; while(x<500); printf("n=%d",n); getch(); 6 輸出1999中能被3整除,而且至少有一位數(shù)字是5的所有數(shù)字。 答 main() int x,y,flag;
65、; for(x=1;x<1000;x+) flag=0; y=x; if(y%3=0)/*余數(shù)為0說(shuō)明該數(shù)能夠被3整除*/
66、 while(y%10!=0) if(y%10=5)flag=1;/*依個(gè)位、十位、百位順序判斷是否余數(shù)為5*/
67、60; y/=10; if(flag=1)printf("%dt",x); getch(); 7 求愛因斯坦數(shù)學(xué)題。有一條
68、長(zhǎng)階,若每步跨2階,則最后剩1階,若每步跨3階,則最后剩2階,若每步跨5階,則最后剩4階每步跨6階,則最后剩5階每步跨7階,最后正好1階。 答 main() int x=0,flag=0; while(1) x+; if(x%2=1)
69、0; if(x%3=2) if(x%5=4) if(x%6=5) if(x%7=0) printf("%d&
70、quot;,x); break; getch(); 8 輸入一個(gè)3位數(shù),判斷是否是一個(gè)“水仙花數(shù)”。水仙花數(shù)是指3位數(shù)的各位數(shù)字的立方和等于這個(gè)3位數(shù)本身。例如,1531*1*1+5*5*5+3*3*3 答 main() int x
71、,a,b,c; printf("Input number:"); scanf("%d",&x); a=x/100;/*變量a中記錄x的百位數(shù)字*/ b=x/10%10;/*變量b中記錄x的十位數(shù)字*/ c=x%10; /*變量c中記錄x的個(gè)位數(shù)字*/ if(a*a*a+b*b*b+c*c*c=x)
72、 printf("%d=%d*%d*%d+%d*%d*%d+%d*%d*%dn",x,a,a,a,b,b,b,c,c,c); printf("YES"); else printf("NOT");
73、0; getch(); 9 計(jì)算斐波那契分?jǐn)?shù)序列前n項(xiàng)之和(n是某個(gè)常數(shù),波那契分?jǐn)?shù)序列為2/1,3/2,5/3,8/5,.)。 答 main() int i,n=10; float f1=1,f2=2,f,sum=0; for(i=0;i<n;i+) sum+=f2/f1;
74、 f=f1+f2; f1=f2; f2=f; printf("total=%dnsum=%f",n,sum); getch(); 10 輸入一個(gè)正整數(shù),各輸出n行的正(倒)三角形寶塔圖案。 答 main()
75、0; int n,i,j; printf("Input n:"); scanf("%d",&n); for(i=0;i<n;i+) for(j=i+1;j<n;j+)printf(" ");
76、160; for(j=0;j<2*i+1;j+)printf("*"); printf("n"); for(i=0;i<n-1;i+) for(j=0;j<i+1;j+)printf(" ");
77、 for(j=2*i-1;j<n+1;j+)printf("*"); printf("n"); getch(); 11 輸出九九乘法表。 答 main() int i,j; for(i=1;i<=9;i+)
78、 for(j=1;j<=i;j+) printf("%d*%d=%-3d",j,i,i*j); printf("n"); getch(); 12 輸入一串字符,直到輸入一個(gè)星號(hào)為止,統(tǒng)計(jì)(輸出)其中的正整數(shù)
79、和負(fù)整數(shù)個(gè)數(shù)以及所有正整數(shù)的平均值和所有負(fù)整數(shù)的平均值。 答 #include"stdio.h"#include"math.h"main() char ch; int x=0,y=1,f=0,pcnt=0,ncnt=0; float psum=0,nsum=0; while(ch=getchar()!='*')
80、60; if(ch='-') if(x!=0)
81、60; if(f=1) x=-x;
82、 nsum+=x; ncnt+; &
83、#160; else psum+=x;
84、0; pcnt+; printf("
85、%dn",x); f=1;x=0;y=1; continue;
86、0; else if(ch>='0'&&ch<='9') x=10*x+ch-'0' y=10*y; &
87、#160; if(x!=0&&10*x<y)f=0; continue; else
88、 if(x!=0) if(f=1)
89、 x=-x; nsum+=x;
90、160; ncnt+; else &
91、#160; psum+=x; pc
92、nt+; printf("%dn",x);
93、60; f=0;x=0;y=1; continue; if(x!=0) if(f=1)
94、160; x=-x; nsum+=x; ncnt+;
95、160; else psum+=x; pcnt+;
96、60; printf("%dn",x); printf("n-n"); printf("Plus:n"); printf("Count=%dn",pcnt); printf("Average=%fn",psum/pcnt); printf(&qu
97、ot;-n"); printf("Negative:n"); printf("Count=%dn",pcnt); printf("Average=%fn",nsum/ncnt); getch(); 13 一個(gè)整數(shù)等于該數(shù)所有因子之和,則稱該數(shù)是一個(gè)完數(shù)。例如,6和28都是完數(shù)。因?yàn)?1+2+3,281+2+4+7+14。輸出3位數(shù)中所有的完數(shù)。 答
98、60;main() int k1, k2, k3, k4, k5, k6, k7, k8, k9, k10; int i,a,n,s; for (a = 100; a <= 999; a+) n = 0; /* n累計(jì)因子的個(gè)數(shù) */ s = a; /* s存放未求出的因子之和,
99、初值為被測(cè)數(shù)本身 */ for (i = 1; i < a; i+) if (a % i = 0) /* 由i到a循環(huán)檢測(cè)i是否為a的因子 */ n+; /* 找到一個(gè)因子 */
100、60; s = s - i; /* 減去已找到的因子 */ switch (n) /* 將找到的因子賦紿k1, k2, . */ &
101、#160; case 1 : k1 = i; break; case 2 : k2 = i; break; case 3 : k3 = i; break; &
102、#160; case 4 : k4 = i; break; case 5 : k5 = i; break; &
103、#160; case 6 : k6 = i; break; case 7 : k7 = i; break; case 8 : k8 = i; break; &
104、#160; case 9 : k9 = i; break; case 10 : k10 = i; break;
105、60; if (s = 0) /* 已經(jīng)找到全部因子 */ printf("%d Its factors are ", a); if (n > 1) printf("%d,%d", k1, k2); /* n>1表示a至少有2個(gè)因子 */
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛股權(quán)轉(zhuǎn)讓與改裝升級(jí)服務(wù)合同
- 出租車司機(jī)聘用及服務(wù)質(zhì)量保障合同
- 項(xiàng)目中止后采購(gòu)合同數(shù)量變更及取消協(xié)議
- 老妖精咨詢工程師課件
- 美術(shù)紅色文化課件設(shè)計(jì)
- 安全生產(chǎn)方針五要素
- 物業(yè)消防工作計(jì)劃
- 安全生產(chǎn)管理制度及處罰條例
- 水電安全操作規(guī)程
- 安全生產(chǎn)提升活動(dòng)總結(jié)
- 辦公室副主任考試試題及答案詳解
- 克拉瑪依市公安局招聘警務(wù)輔助人員考試真題2024
- 2024年石家莊市市屬國(guó)有企業(yè)招聘考試真題
- 醫(yī)院火災(zāi)的應(yīng)急預(yù)案及處理流程
- 醫(yī)院呼吸機(jī)操作評(píng)分表
- 2025年天津市河北區(qū)普通高中學(xué)業(yè)水平合格性模擬檢測(cè)數(shù)學(xué)試題(含答案)
- 2025-2030中國(guó)物理氣相沉積(PVD)涂層系統(tǒng)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025河南省豫地科技集團(tuán)社會(huì)招聘169人筆試參考題庫(kù)附帶答案詳解
- 人教版(2024)七年級(jí)下冊(cè)英語(yǔ)期末模擬測(cè)試卷(含答案)
- 兵團(tuán)開放大學(xué)2025年春季《公共關(guān)系學(xué)》終結(jié)考試答案
- 電線電纜出入庫(kù)管理制度
評(píng)論
0/150
提交評(píng)論