第一至七章 c語(yǔ)言習(xí)題答案

上傳人:小**** 文檔編號(hào):57502751 上傳時(shí)間:2022-02-24 格式:DOC 頁(yè)數(shù):37 大?。?85KB
收藏 版權(quán)申訴 舉報(bào) 下載
第一至七章 c語(yǔ)言習(xí)題答案_第1頁(yè)
第1頁(yè) / 共37頁(yè)
第一至七章 c語(yǔ)言習(xí)題答案_第2頁(yè)
第2頁(yè) / 共37頁(yè)
第一至七章 c語(yǔ)言習(xí)題答案_第3頁(yè)
第3頁(yè) / 共37頁(yè)

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《第一至七章 c語(yǔ)言習(xí)題答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《第一至七章 c語(yǔ)言習(xí)題答案(37頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第一章 習(xí) 題 1.1選擇題: ⑴ 一個(gè)C程序的執(zhí)行是( A )。 A) 從main()函數(shù)開始,直到main()函數(shù)結(jié)束 B) 從第一個(gè)函數(shù)開始,直到最后一個(gè)函數(shù)結(jié)束 C) 從第一個(gè)語(yǔ)句開始,直到最后一個(gè)語(yǔ)句結(jié)束 D) 從main()函數(shù)開始,直到最后一個(gè)函數(shù)結(jié)束 ⑵ 計(jì)算機(jī)能直接執(zhí)行的語(yǔ)言是( B)。 A) 匯編語(yǔ)言 B)機(jī)器語(yǔ)言 C)高級(jí)語(yǔ)言 D) A和B ⑶ 一個(gè)C程序是由( C)。 A) 一個(gè)主程序和若干子程序組成 B) 若干過程組成 C) 一個(gè)或多個(gè)函數(shù)組成 D) 若干子程序組成 ⑷ 下列說法正確的是(B )。 A)

2、 C程序書寫格式限制嚴(yán)格,一行內(nèi)必須寫一個(gè)語(yǔ)句 B) C程序書寫比較自由,一個(gè)語(yǔ)句可以分行寫在多行上 C) C程序書寫格式限制嚴(yán)格,要求一行內(nèi)必須寫一個(gè)語(yǔ)句,并要求行號(hào) D) C程序中一個(gè)語(yǔ)句不可以分寫在多行上 1.2填空題: ⑴ 構(gòu)成C語(yǔ)言程序的基本單位是  函數(shù)   。 ⑵ C語(yǔ)言源程序文件的后綴是 .c  ,經(jīng)過編譯后,生成文件的后綴是 ,obj  ,經(jīng)過連接后,生成文件的后綴是 .exe  。 ⑶ 在TURBO C環(huán)境中用RUN命令運(yùn)行一個(gè)C程序時(shí),所運(yùn)行的程序的后綴是 .exe   。 ⑷ 一個(gè)C語(yǔ)言程序必須有而且只能有一個(gè)主函數(shù),它的函數(shù)名為  main   。

3、 ⑸ 一個(gè)函數(shù)有兩部分組成,第一部分稱為 函數(shù)首部 ?。坏诙糠址Q為 函數(shù)體  。 ⑹ 函數(shù)體由符號(hào)  {  開始,用符號(hào)  }  結(jié)束。函數(shù)體的前面是 聲明   部分,其后是 執(zhí)行   部分。 1.3上機(jī)編輯、調(diào)試、運(yùn)行下列程序,發(fā)現(xiàn)錯(cuò)誤,并改正之。 /*求1 + 2 + 3 + …… + 10的和*/ #include void main() { int s,n; sum = 0;n = 1; while(n < 0) {sum = sum + n; n = n + 1; } printf("sum = %d \n"

4、,sum); } 第二章 習(xí) 題 2.1選擇題 ⑴ 在以下標(biāo)識(shí)符中,( B )是合法的用戶標(biāo)識(shí)符。 A) a#b B) getch C) void D) ab* ⑵ 不合法的八進(jìn)制數(shù)是( B ?。?  A) 0 B) 028 C) 077 D) 01 ⑶ 不合法的十六進(jìn)制數(shù)是( A ?。?x  A) oxff B) 0Xabc C) 0x11 D) 0x19 ⑷ 以下選項(xiàng)中正確的整型常量是( B )。 A) 12. B)

5、 -20 C) 1,000 D) 4 5 6 ⑸ 以下選項(xiàng)中正確的實(shí)型常量是( D )。 A) 0 B) 3. 1415 C) 0.329×102 D) .871 ⑹ 以下選項(xiàng)中不正確的實(shí)型常量是( B )。 A) 2.607E-1 B) 0.8103e 3 C) -88.77 D) 871e-2 ⑺ 以下變量x, y, z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子的C語(yǔ)言表達(dá)式是 ( A )。 A) x / y*z B) x*(1/(y*z)) C) x / y*1

6、/ z D) x / y / z ⑻ 在C語(yǔ)言中,字符型數(shù)據(jù)在內(nèi)存中以( C )的形式存放。 A) 原碼 B) 補(bǔ)碼 C) ASCII碼 D) BCD碼 ⑼ sizeof(float)是( C )。 A) 一種函數(shù)調(diào)用 B) 一個(gè)不合法的表示形式 C) 一個(gè)整型表達(dá)式 D)一個(gè)實(shí)型表達(dá)式 ⑽ 表達(dá)式b =((241 & 15)&&('Z' | 'a'))的值是( B )。 A) 0 B) 1 C) TRUE D) FALSE ⑾ 若變量已正確定義并賦值,符合C語(yǔ)言語(yǔ)法

7、的表達(dá)式是( B )。 A) a = a + 7; B) a = 7 + b + c,a ++ C) int(13.4 % 4) D)a = a + 7 = c + b ⑿ 以下敘述中正確的是( A )。 A)a是實(shí)型變量,C語(yǔ)言允許進(jìn)行a = 10,因此可以這樣說:實(shí)型變量中允許存放整型值 B)在賦值表達(dá)式中,賦值號(hào)左邊既可以是變量也可以是任意表達(dá)式 C)執(zhí)行表達(dá)式a = b后,在內(nèi)存中a和b存儲(chǔ)單元中的原有值都將被改變,a的值已由原值改變?yōu)閎的值,b的值由原值改變?yōu)? D)已有a = 3,b = 5。當(dāng)執(zhí)行了表達(dá)式a = b,b = a之后,已使a中的值為5,

8、b中的值為3 2.2填空題 ⑴ 數(shù)學(xué)式子cos2x ·寫成C語(yǔ)言表達(dá)式是 cos(x)*cos(x)*((a+b)/(a-b)) 。 ⑵ a是整型變量,能將a清零的表達(dá)式是 a=0 ;能將a中的各二進(jìn)制為均置成1的表達(dá)式是 a=-1 。 ⑷ 若a,b和c均是int型變量,則執(zhí)行下面表達(dá)式后,a值為 6 ,b值為 4 ,c值為 2 。 a =(b = 4)+(c = 2) ⑸ 經(jīng)過下述賦值后,變量x的數(shù)據(jù)類型是 int 。 int x = 2; double y; y=(double)x; ⑹ 若

9、x和n均是整型變量,且x和n的初值均為5,則執(zhí)行下面表達(dá)式后,x值為 10 ,n值為 6 。 x += n ++ x=x+n++ ⑺ 若有定義:int b = 7;float a = 2.5,c = 4.7;則下面表達(dá)式的值為 4.5 。 a+(int)(b/3*(int)(a+c)/2)%4 ⑻若有定義:int m=7,y=2;則執(zhí)行下面表達(dá)式的值后,y值為 -24 。 y += y-=m*= y ⑼ 表達(dá)式8 / 4*(int)2.5 /(int)(1.25*(3.7 + 2.3))的類型為 整型 。 ⑾條件“-1 <

10、 x < 3或x <-99”的C語(yǔ)言表達(dá)式是 (x>-1&&x<3)||(x<-99) 。 ⑿ 若x和a均是整型變量,則執(zhí)行表達(dá)式 ① 后的x值為 12 ,執(zhí)行表達(dá)式 ② 后的x值為 4 。 ① x =(a = 4,6*2) ② x = a = 4,6*2 ⒀ 一個(gè)字節(jié)包含 8 個(gè)二進(jìn)制位,在一個(gè)字節(jié)中能存放的最大(十進(jìn)制)整數(shù)是 ,它的二進(jìn)制數(shù)的形式是 ;最?。ㄊM(jìn)制)整數(shù)是 ,它的二進(jìn)制數(shù)的形式是 。 ⒁ 當(dāng)計(jì)算機(jī)用兩個(gè)字節(jié)存放一個(gè)整數(shù)時(shí),其中能存放的最大(十進(jìn)制)整數(shù)是 ,它的二進(jìn)制數(shù)的形式是

11、 ;最?。ㄊM(jìn)制)整數(shù)是 ,它的二進(jìn)制數(shù)的形式是 。 2.3改錯(cuò)題 ⑴ #include stdio.h; ?。nclude 正確     main(); (多分號(hào)) /*main function*/ { float r,s; /*r is radius, s is area of circular*/ r = 5.0; s = 3.14159*r*r; printf("%f\n",s); ⑵ #include stdio.h

12、 (缺?。迹咎?hào)) #include 正確 main(); /*main function*/ { float a,b,c,v; /*a,b,c are sides,v is volume of cube*/ a = 2.0;b = 3.0;c = 4.0;(缺 ;號(hào)) v = a*b*c; printf("%f\n",v);(缺;號(hào)) } 第三章 習(xí) 題 3.1 什么是C語(yǔ)言的基本執(zhí)行單位?C語(yǔ)言的語(yǔ)句是如何分類的? 3.2 C語(yǔ)言的流程控制語(yǔ)句有哪幾種? 3.3 結(jié)

13、構(gòu)程序設(shè)計(jì)的基本結(jié)構(gòu)有哪幾種? 3.4 C語(yǔ)言的輸入輸出操作是由語(yǔ)句來實(shí)現(xiàn)的嗎? 3.5 順序結(jié)構(gòu)程序的特點(diǎn)是什么? 3.6 輸入下面的程序,觀察運(yùn)行結(jié)果。 #include void main() {float a1,a2; double b1,b2; a1=3141.59;a2=0.000001; b1=3141.59;b2=0.000001; printf("%f,%lf\n",a1+a2,b1+b2); } 答案:3141.590089,3141.590001 3.7 輸入下面的程序,觀察運(yùn)行結(jié)果。 #include

14、dio.h> void main() { char ch; int k; ch='a';k=66; printf("%c,%d,%x,%o,%d,%c",ch,ch,ch,ch,k,k); } 答案:a,97,61,141,66,B 3.8 輸入下面的程序,觀察運(yùn)行結(jié)果。 #include void main() { float x; double y; x=123.45678; y=123.45678; printf("%-4.2f,% -6.2e\n",x,y); } 答案:123.46,1.2e+02 3.9輸入下

15、面的程序,觀察運(yùn)行結(jié)果,并說明程序的功能(注意:運(yùn)行時(shí)輸入大寫字母)。 #include void main() { char c1,c2; c1=getchar( ); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); } 答案:A,65 a,97 該程序是將鍵盤輸入的大寫字母轉(zhuǎn)換為對(duì)應(yīng)的小寫字母。 3.10 編寫程序:求三個(gè)正整數(shù)(小于32767)的算術(shù)平均值。 void main() {int a,b,c; float d; prin

16、tf("\n input a,b,c="); scanf("%d,%d,%d",&a,&b,&c); d=(a+b+c)/3.0; printf("\nd=%f",d); } 3.11 編寫程序:已知圓的半徑,求圓的周長(zhǎng)和面積(要求半徑值由鍵盤接受)。 void main() {int r; float k,s; printf("\n input r="); scanf("%d",&r); k=2*3.14159*r; s=3.14159*r*r; printf("\nL=%f\nS=%f",k,s); } 3.12 編寫程序:計(jì)算a+b2-6的

17、值,其中: a=4,b=3; a=5,b=2; a=2,b=8。 void main() { float a,b,h; printf("\n input a,b="); scanf("%f,%f",&a,&b); h=a+b*b-6; printf("\na=%f,b=%f\nh=%f",a,b,h); } 第四章 習(xí) 題 4.1 判斷下列陳述的真假: ⑴在三種形式的if語(yǔ)句中,在if關(guān)鍵字之后均為表達(dá)式。 該表達(dá)式只能是邏輯表達(dá)式或關(guān)系表達(dá)式。False ⑵在if語(yǔ)句中,關(guān)鍵字之后的表達(dá)式必須用括號(hào)括起來,并隨后跟分號(hào)(;)。False ⑶在if

18、語(yǔ)句的三種形式中,所有的語(yǔ)句應(yīng)為單個(gè)語(yǔ)句,如果要想在滿足條件時(shí)執(zhí)行一組(多個(gè))語(yǔ)句,則必須把這一組語(yǔ)句用{} 括起來組成一個(gè)復(fù)合語(yǔ)句。True ⑷條件運(yùn)算符的結(jié)合方向是自右至左。False ⑸switch語(yǔ)句中的case后面必須是整常量表達(dá)式,如整數(shù)常數(shù)、字符常量。True ⑹當(dāng)switch的整類型表達(dá)式的結(jié)果值與某一個(gè)case塊的整常量表達(dá)式的值相等時(shí),將轉(zhuǎn)至該case塊,并且執(zhí)行該case與下一個(gè)case之間的所有語(yǔ)句。False ⑺可以使用go out語(yǔ)句跳出switch語(yǔ)句。False ⑻ else總是與它前面最近的if配對(duì)。True 4.2 閱讀下面的程序,說明程序的運(yùn)行

19、結(jié)果。 #include void main() { int x=10,y=20,t; if(x!=y){t=x; x=y; y=t;} printf("%d,%d\n",x,y); } 答案:20,10 4.3 輸入下面的程序,觀察運(yùn)行結(jié)果并說明程序的功能。 #include void main() { int x = 20; if (x >= 0) if (x < 50) printf("x is ok\n"); else printf("x is not ok\n");

20、 } 答案: x is ok 4.4 分別輸入下面兩個(gè)程序,觀察運(yùn)行結(jié)果,說明有何不同。 程序段1: #include void main() { int x = 20; if (x <= 0) if (x < 50) printf("x is ok\n"); else printf("x is not ok\n"); }答案:什么也不輸出. 程序段2: #include void main() { int x = 20; if (x <= 0) { i

21、f (x < 50) printf("x is ok\n"); } else printf("x is not ok\n"); } 答案:x is not ok. 4.5 輸入下面的程序,觀察運(yùn)行結(jié)果并說明程序的功能。 #include void main() { int x ,a; scanf(“%d”,&x); a=x%10; switch(a) { case 0: case 2: case 4: case 6: case 8: priintf(“even!\n”)

22、;break; default:printf(“odd!\n”); } } 答案: 輸入偶數(shù), 則輸出 even! 輸入奇數(shù), 則輸出 odd! 4.6 編寫程序:從鍵盤輸入三個(gè)正整數(shù),按由大到小的順序輸出。 #include void main() { int a,b,c,t; printf("input a,b,c=:"); scanf("%d%d%d",&a,&b,&c); if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;}

23、printf("%5d%5d%5d",a,b,c); } 4.7 編寫程序:從鍵盤輸入一個(gè)正整數(shù),判斷它是否既能被3整除,又能被7整除。方法1: #include void main() { int k; scanf("%d",&k); if(k%3==0 && k%7==0) printf("\nyes"); else printf("\n no"); } 方法2: #include void main() { int x; printf("please input x="); scanf("%d",&

24、x); if(x%3==0) {if(x%7==0) printf("3---yes 7----yes"); else printf("3---yes 7---- no"); } else {if(x%7==0) printf("3---no 7---yes"); else printf("3---no 7--- no"); } } 4.8 編寫程序: 求函數(shù): X+5 (X>=0) y= X-5 (X<0)

25、 的值。 #include void main() { int x,y; printf("please input x="); scanf("%d",&x); if(x>=0) y=x+5; else y=x-5; printf("y=%d",y); } 第五章 習(xí) 題 5.1 試比較三種循環(huán)語(yǔ)句的異同。 5.2 選擇題: ⑴ 下面關(guān)于for循環(huán)的正確描述是( D )。 A) for循環(huán)只能循環(huán)次數(shù)已經(jīng)確定的情況 B) for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后判斷終止條件

26、 C) 在for循環(huán)中,不能用break語(yǔ)句跳出循環(huán)體 D) 在for循環(huán)的循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但必須用花括號(hào)括起來 ⑵ 對(duì)for(表達(dá)式1;;表達(dá)式3)可以理解為( B )。 A) for(表達(dá)式1;0;表達(dá)式3) B) for(表達(dá)式1;1;表達(dá)式3) C) for(表達(dá)式1;表達(dá)式1;表達(dá)式3) D) for(表達(dá)式1;表達(dá)式3;表達(dá)式3) ⑶ 若有“int m;”,則以下循環(huán)執(zhí)行次數(shù)是( B )。 for(m=2;m= =0; ) A) 無限次 B) 0次 C) 1次 D) 2次 ⑷ 下面不是死循環(huán)的是( A

27、 )。 A) for(y=0,x=1;x>++y;x=i++) i=x; B) for( ; ; x=++1); C) while(1) {x++;} D) for(i=10; ;i--) sum+=i; ⑸ 下面程序段的運(yùn)行結(jié)果是( B )。 for(i=0;i<5;i++) { if(i= =2) continue; printf("%d",i); } A) 01 B) 0134 C) 01234 D) 不打印 ⑹ 下面程序段的運(yùn)行結(jié)果是( B )。 int k=10; while(k=0) k=k-1; A) while循環(huán)執(zhí)

28、行10次 B) 循環(huán)是無限循環(huán) C) 循環(huán)體語(yǔ)句一次也不執(zhí)行 D) 循環(huán)體語(yǔ)句執(zhí)行一次 ⑺ 執(zhí)行語(yǔ)句“for(n=1;n++<4; ) ;”后變量n的值是( C )。 A) 3 B) 4 C) 5 D) 不定 ⑻ 以下正確的描述是( B )。 A) continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行 B) 只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句 C) 在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同 D) 從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句 5.3 寫出下列程序的運(yùn)行結(jié)果 ⑴ main() { i

29、nt i=0,a=0; while(i<20) { for( ; ; ) if(i%10= =0) break; else i--; i+=11;a+=i; } printf("%d\n",a); } 答案:32 ⑵ main() { int i,j,b=0; for(i=0;i<3;i++) for(j=0;j<2;j++) if(j>=i ) b++; printf("%d\n",b); } 答案:3 5.4 下面程序的功能是從鍵盤輸入10個(gè)無序的整數(shù),去掉最大數(shù)和最小數(shù),再求其平均值。請(qǐng)?zhí)羁铡? main()

30、{ int j,x,max,min,sum; fioat ave; printf("Enter 10 number:\n"); scanf("%d",&x); sum=max=min=x; for( j=2 ; j<=10;j++) { scanf(“%d”,&x) ; sum+=x; if(x>max ) max=x; else if(x

31、程計(jì)算1~100之間是7的倍數(shù)的數(shù)值之和。 #include main() {int i,s=0; for(i=0;i<=100;i++) if(i%7==0) s+=i; printf("\ns=%d",s); } 5.6 編寫程序,利用下面公式求π的近似值: π2/6=1/12+1/22+1/32+1/42+…,直到某項(xiàng)絕對(duì)值不大于10-12為止。 #include #include main() {long n=1; float x,sum=0; x=1.0/(n*n); while

32、(x>=1e-12) {sum=sum+x; n++; x=1.0/(n*n); } sum=sqrt(sum*6); printf("\n PI=%f,n=%ld",sum,n-1); } 5.7 計(jì)算鍵盤輸入的字符數(shù)。(提示:用getchar( )) 方法1: #include #include main() {char c; int n=0; c=getchar(); while(c!='\n') { n++; c=getchar(

33、); } printf("n=%d",n); } 方法2: #include main() {char c; int chgs=0; printf("Enter one line char : \n"); while( c=getchar()!='\n') chgs++; printf("chgs=%d\n",chgs); } 5.8 用1元人民幣兌換1分、2分、5分的硬幣,編程計(jì)算共有多少種不同的兌換方法。 方法1: #include main() {int x,y,z,he=

34、0; for(x=1;x<=20;x++) for(y=1;y<=50;y++) {z=100-x*5-2*y; if(z>0) {he++; printf("\nx=%d\ty=%d\tz=%d",x,y,z);} } printf("\nhe=%d",he); } 結(jié)果:he=461 方法2: #include #include main() { int g,k,s,fa=0; for(g=1;g<=93;g++) for(k=1;k<=47;k++)

35、 {s=(100-g-2*k)/5; if(g+2*k+5*s==100 && s>0) fa=fa+1; } printf("\nfa=%d\n",fa); } 結(jié)果: fa=461 5.9 編程求出1000以內(nèi)的所有完全數(shù)。若一個(gè)數(shù)恰好等于它的因子之和(除自身外),則稱該數(shù)為完全數(shù),例如:6=1+2+3,故6是完全數(shù)。 方法1: #include #define M 1000 main() {int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10; int i,a,n,s; for (a=2;a<=M

36、;a++) {n=0; s=a; for (i=1;i

37、reak; case 8: k8=i;break; case 9: k9=i;break; case 10: k10=i; } } if(s==0) { printf("%d Its factors are ",a); if(n>1) printf("%d,%d",k1,k2); if(n>2) printf(",%d",k3); if(n>3) printf(",%d",k4); if(n>4) printf(",%d",k5); if(n>5) pri

38、ntf(",%d",k6); if(n>6) printf(",%d",k7); if(n>7) printf(",%d",k8); if(n>8) printf(",%d",k9); if(n>9) printf(",%d",k10); printf("\n"); } } } 結(jié)果: 6 yes ,factors are 1,2,3 28 yes ,factors are 1,2,4,7,14, 496 yes ,factors are 1,2,4,7,16,31,62,124,248, 方法

39、2: #include main() {int m,s,i; for (m=2;m<=1000;m++) {s=0; for (i=1;i

40、1,2,3 28 yes ,factors are 1,2,4,7,14, 496 yes ,factors are 1,2,4,7,16,31,62,124,248, 5.10 編程統(tǒng)計(jì)從鍵盤輸入的字符中數(shù)字字符的個(gè)數(shù),用換行符結(jié)束輸入 循環(huán)。 方法1: #include #include main() { char c; int n=0; c=getchar(); while(c!='\n') {if(c>='0' && c<='9') n++; c=getchar();

41、} printf("n=%d",n); } 方法2: #include main() {char c; int digit=0; printf("Enter one line char : \n"); while( (c=getchar()) != '\n') { if (c>='0'&&c<='9') digit++; } printf("szgs=%d\n",digit); } 5.11 編程求(即求1!+2!+3!+…+20!) 方法1: #include main() { floa

42、t sum=0,jc=1; int n; for(n=1;n<=20;n++) { jc=n*jc; sum=sum+jc; } printf("sum=1!+2!+...20!=%f\n",sum); } 方法2: #include main() { float sum,jc; int m,i; sum=0; for(m=1;m<=20;m=m+1) { jc=1; for (i=1;i<=m;i++) jc=jc*i;

43、 printf("jc=%f\n",jc); sum=sum+jc; } printf("sum=%e\n",sum); } 5.12 編寫程序,求出整數(shù)1~1000之間的所有同構(gòu)數(shù)。所謂同構(gòu)數(shù)是指此數(shù)的平方數(shù)的最后幾位數(shù)與該數(shù)相等。例如,25的平方為625,376的平方為141376,所以25和376都是同構(gòu)數(shù)。 方法1: #include main() { long i; for(i=1;i<=1000;i++) if(i*i%10==i || i*i%100==i || i*i%1000==

44、i) printf("\n%5d",i); } 方法2: m#include main() {long i,m,k,r,q; for(i=1;i<=1000;i++) {m=i;k=m*m; while(m!=0) {r=m%10;q=k%10; if(r==q){m=m/10;k=k/10;} else break; } if(m==0) printf("%5d,%5d",i,i*i); } } 方法3: #include

45、.h> main() { long i,pf; printf("\n"); for(i=2;i<=1000;i++) { pf=i*i; if(i==pf%10 && i<10) {printf("\ni=%ld,pf=%ld",i,pf); continue;} if(i==pf%100 && i<100) {printf("\ni=%ld,pf=%ld",i,pf); continue;} if(i==pf%1000 && i<1000) printf("\ni=%ld,pf=%ld",i,pf); } } 5.13 編程序,輸入一個(gè)

46、正整數(shù),輸出其素?cái)?shù)因子的乘積。例如,輸入60,輸出: 60=2* 2* 3* 5 方法1: #include #include main() {int k,i,j; scanf("%d",&k); printf("%d:",k); i=2; while(k!=0 && i<=k) {if(k%i==0) {printf("%3d",i); k=k/i; i=2; } else i++; }} 方法2: #include ma

47、in() { int i,x,k; scanf("%d",&x); k=x; printf("\n%d=",x); while(x!=0) { for(i=2;i<=k;i++) if(x%i==0) break; x=x/i; if (i

48、r(i=0;i<10;i++) a[i]=i; for(i=0,k=0;i<4;i++) k+=a[i]+i; printf("\n%d",k); } A) 20 B) 12 C) 16 D) 18 ⑵ 下列程序輸出結(jié)果是( A )。 main() { int n[2]={0},i,j,k=2; for(i=0;i

49、 ⑶ 下列程序的輸出結(jié)果是( A )。 main() { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("\n%d",s); } A) 18 B) 19 C) 20 D) 21 ⑷ 下列程序輸出結(jié)果是( C )。 main() { int a[3][3]={1,2,3,4,5,6,7,8,9},i; for(i=0;i<3;i++) printf("%d,",a[i][2-i

50、]); } A) 1,5,9, B) 1,4,7, C) 3,5,7, D) 3,6,9, ⑸ 當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)果是(A )。 #include #include main() { char ss[10]= "12345"; gets(ss); strcat(ss, "6789"); printf("%s",ss); } A)ABC6789 B)ABC67 C)12345ABC6 D)ABC456789 ⑹ 下列程序輸出結(jié)果是( C )。 main()

51、 { char b[]="Hello,you"; b[5]=’\0’; printf("%s",b); } A) Hello,you B) Hello, C) Hello D) Hello you 6.2 輸入10個(gè)浮點(diǎn)型數(shù),求它們的和、平均值、最大值、最小值。 方法1: #include main() { float a[10],sum=0,aver,max,min; int i=0; while(i<10) {scanf("%f",&a[i]); sum+=a[i];

52、 i++; } aver=sum/10.0; max=min=a[0]; i=0; while(i<10) { if(a[i]>max) max=a[i]; else if(a[i] main() {int i,maxi,mini; float

53、x[10],sum=0,ave,max,min; for(i=0;i<10;i++) {scanf("%f",&x[i]); sum+=x[i]; } ave=sum/10; max=min=x[0]; maxi=mini=0; for(i=1;i<10;i++) {if(x[i]>max){max=x[i];maxi=i;} if(x[i]

54、,min,mini); } 6.3 求一個(gè)3*3的整型矩陣主對(duì)角線元素之和。 main() {int i,j,a[3][3],sum=0; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) {printf("\n"); for(j=0;j<3;j++) printf("%-4d",a[i][j]); } for(i=0;i<3;i++) sum+=a[i][i]; printf("\ns

55、um=%d",sum); } ***6.3 求一個(gè)3*3的整型矩陣付對(duì)角線元素之和。 main() {int i,j,a[3][3]={1,2,3,4,5,6,7,8,9},sum=0; for(i=0;i<3;i++) {printf("\n"); for(j=0;j<3;j++) printf("%-4d",a[i][j]); } for(i=0;i<3;i++) for(j=0;j<3;j++) if(i+j=2) sum+=a[i][i]; printf("\nsum=%d",sum); } 6.4

56、 將一維實(shí)型數(shù)組元素進(jìn)行排序。 #include main() { float t,a[10]={12.4,3.44,4.88,5.9,6.88,77.90,65.88,4.8,0.7,6.7}; int i,j,p; for(i=0;i<10;i++) printf("%10.2f",a[i]); printf("\n"); for(i=0;i<9;i++) {p=i; for(j=i+1;j<10;j++) if(a[p]>a[j]) p=j; if(p!=i

57、) {t=a[p];a[p]=a[i];a[i]=t;} } for(i=0;i<10;i++) printf("%7.2f",a[i]); } 6.5 從鍵盤上輸入一個(gè)字符和一個(gè)字符串,查找輸入的字符是否在輸入的字符串中,若不在則輸出沒有找到的信息,否則輸出第一個(gè)與輸入字符匹配的所在位置。 #include #include main() { char a[10],c; int flag=1,i,cor; printf("\ninput a str :\n");

58、 gets(a); printf("\ninput a ch:\n"); c=getchar(); i=0; while(a[i]) {if(c==a[i]) {flag=0;cor=i;break;} i++; } if(flag==0) printf("\nfind,No:%d",cor); else printf("\n can not find"); } 6.6 求兩個(gè)矩陣的乘積,輸出結(jié)果。 #include main() { int a[2][3]

59、={1,2,3,4,5,6},b[3][2]={1,2,1,2,1,2},c[2][2]; int i,j,k; for(i=0;i<3;i++) for(j=0;j<2;j++) { c[i][j]=0; for(k=0;k<3;k++) c[i][j]+=a[i][k]*b[k][j]; } for(i=0;i<2;i++) { printf("\n"); for(j=0;j<2;j++) printf("%4d"

60、,c[i][j]); } } 6.7 已知整型數(shù)組array有10個(gè)元素,分別為2、4、6、8、10、1、3、5、7、9,編寫程序?qū)⑶?個(gè)元素與后5個(gè)元素交換,交換后的元素分別為1、3、5、7、9、2、4、6、8、10。 #include main() { int a[10]={2,4,6,8,10,1,3,5,7,9},i,t; for(i=0;i<5;i++) {t=a[i];a[i]=a[5+i];a[5+i]=t; } printf("\n"); for(i=0;i<10;i++) prin

61、tf("%-6d",a[i]); } 6.8 輸入一個(gè)十進(jìn)制數(shù),轉(zhuǎn)換成二進(jìn)制數(shù)并輸出。 #include #include main() { long a[100],k,s=0; int i,n=0; scanf("%ld",&k); while(k!=0) {a[n]=k%2; k=k/2; n++; } for(i=n-1;i>=0;i--) s+=a[i]*pow(10,i); printf("\n%ld",s); } 方法2:

62、 #include #include main() {int i,s[100],x,k=0; scanf("%d",&x); while(x>0) { s[k]=x%2; x=x/2; k++; } for(i=k-1;i>=0;i--) printf("%d",s[i]); } 6.9 將字符串中的大寫字母轉(zhuǎn)換成小寫字母,小寫字母轉(zhuǎn)換成大寫字母,其它字符不轉(zhuǎn)換。 #include #include main() { char a[80]; int

63、 i=0; gets(a); while(a[i]!='\0') { if(a[i]>='A' && a[i]<='Z') a[i]+=32; else if(a[i]>='a' && a[i]<='z') a[i]-=32; i++; } printf("\n"); puts(a); } 方法2: main() {char x[]="dhgfhf33485SDHDbcjd980"; int i=0; printf("\n%s",x); while(x[i]!='\0') { if(x[i]>

64、='A'&&x[i]<='Z') x[i]=x[i]+32; else if(x[i]>='a'&&x[i]<='z') x[i]=x[i]-32; i++; } printf("\n%s",x); } 6.10 在不使用系統(tǒng)函數(shù)strcat的情況下,實(shí)現(xiàn)兩個(gè)字符串連接。 #include #include main() {char a[80],b[80]; int n,i,j,m; printf("\n input a str:"); gets(a);

65、 printf("\n input b str:"); gets(b); n=strlen(a);m=strlen(b); i=0; while(b[i]!='\0') { a[i+n]=b[i]; i++; } a[n+m]='\0'; printf("\n"); puts(a); } 6.11 從字符串中刪除所有指定字符。 #include #include main() { char a[80],c; int i,j,n; printf("input a

66、 str:"); gets(a); printf("input a char:"); c=getchar(); i=0; n=strlen(a); for(i=0,j=0;i #include main() {char s1[80],s2[80]; int i,j; printf("input s1:"); gets(s1); i=0;j=0; while(s1[i]!= '\0') { if(s1[i]%2==0 && i%2==0) s2[j++]=s1[i]; i++; s2[j]='\0'; } printf("\n%s",s2); } 6.13 有一行電文,已按下面規(guī)律譯成密

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!