![C語(yǔ)言程序設(shè)計(jì)第三版譚浩強(qiáng)課后習(xí)題答案完整版_第1頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-1/17/deaefbdd-4516-4a43-99d0-1458e7e5ebf7/deaefbdd-4516-4a43-99d0-1458e7e5ebf71.gif)
![C語(yǔ)言程序設(shè)計(jì)第三版譚浩強(qiáng)課后習(xí)題答案完整版_第2頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-1/17/deaefbdd-4516-4a43-99d0-1458e7e5ebf7/deaefbdd-4516-4a43-99d0-1458e7e5ebf72.gif)
![C語(yǔ)言程序設(shè)計(jì)第三版譚浩強(qiáng)課后習(xí)題答案完整版_第3頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-1/17/deaefbdd-4516-4a43-99d0-1458e7e5ebf7/deaefbdd-4516-4a43-99d0-1458e7e5ebf73.gif)
![C語(yǔ)言程序設(shè)計(jì)第三版譚浩強(qiáng)課后習(xí)題答案完整版_第4頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-1/17/deaefbdd-4516-4a43-99d0-1458e7e5ebf7/deaefbdd-4516-4a43-99d0-1458e7e5ebf74.gif)
![C語(yǔ)言程序設(shè)計(jì)第三版譚浩強(qiáng)課后習(xí)題答案完整版_第5頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-1/17/deaefbdd-4516-4a43-99d0-1458e7e5ebf7/deaefbdd-4516-4a43-99d0-1458e7e5ebf75.gif)
版權(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ì)第三版譚浩強(qiáng)1.6 編寫一個(gè)程序,輸入 a、b、c 三個(gè)值, 輸出其中最大值。解:mian()printf(”);“*printf(“”X“ n” );printf(“Very Good!” n”);printf(“”X“ n” );printf( “*);max=a;if(maxb)max=b;if(max r、 e,并輸出。main()charc1= C ,c2= h ,c3= i ,c4= n ,c 5= a ;c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf(密碼是 c%c%c%c%cn,c1,c2,c3,c4,c5);運(yùn)行結(jié)果:密碼是 GImre
2、解:1 )x+a%3*(int)(x+y)%2/43.9 求下面算術(shù)表達(dá)式的值。( 2) (float)(a+b)/2+(int)x%(int)y設(shè) a=2,b=3,x=3.5,y=2.5(1)2.5(2)3.53.10 寫出程序運(yùn)行的結(jié)果。main()int i,j,m,n;i=8;j=10;m=+i;n=j+;printf( “ %d,%d,%d,%”d ,i,j,m,n);解:來(lái)a=12。設(shè)a和n都已定義為整型變量。(1 )a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a(5) a%=(n%=2),n 的值等于 5(6) a+=a-=a*=a解:(1) 24 (2) 10
3、 (3) 60 (4) 0(5) 0 (6) 0第四章44 若 a=3,b=4,c=5,x=1.2 ,y=2.4 ,z=-3.6 , u=51274,n=128765,c1=a,c2=b。 想得到以下輸出格式和結(jié)果,請(qǐng)寫出程序 (包括定義變量類型和設(shè)計(jì)輸出) 。a=_3_ _b=_4_ _c=_5x=1.200000,y=2.400000,z=-3.600000x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40設(shè) x=2.5,a=7,y=4.73.12 寫出下面表達(dá)式運(yùn)算后 a 的值,設(shè)原c2=/ bx _or_98(ASCII),問在鍵盤上如何輸入?y+z=%5.2fJ I
4、I I! a,o rJ II I! a,o rmain()int a=3,b=4,c=5;long int u=51274,n=128765;float x=1.2,y=2.4,z=3.6;char c1= a,c2= b;printf(a=%2d b=%2d c=%2dn,a,b,c);printf(x=%f,y=%f,z=%fn,x,y,z);printf(x+y=%5.2fz+x=%5.2fn,x+y,y+z,z+x);printf(u=%6ld n=%9ldn,u,n);n,c1= ,c1,(ASCII);n,c2= ,c2,(ASCII);47 用 scanf 下面的函數(shù)輸入數(shù)據(jù),
5、使 a=3,b=7, x=8.5 , y=71.82 , c仁/ Ax, c2= x amain()int a , b; float x , y;char c1c2 ;scanf ( a=%d_b=%d, &a, &b);scanf ( _x=%f_y=%e,&x, &y);scanf (_c1 =%c_c2=%c , &c1, &c2);a=3_b=7_x=8.5_y=71.82_c1=A_c2=a4. 8設(shè)圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周 長(zhǎng)、圓面積、圓球表面積、圓球體積、圓柱 體積。用 scanf 輸入數(shù)據(jù),輸出計(jì)算結(jié)果, 輸出時(shí)要求文字說(shuō)明,取小數(shù)點(diǎn)后兩位數(shù) 字。請(qǐng)編程序。mai
6、n()float r,h,C1,Sa,Sb,Va,Vb;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(C1=%.2fn,C1);printf(Sa=%.2fnSb=%.2fnVa=%.2fnVb=%.2fn,Sa,Sb,Va,Vb);4 9 輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為c=5(F-32)/9輸出要求有文字說(shuō)明,取位 2 小數(shù)。printf(c=%.2f,c);410 編程序,用 getchar 函數(shù)讀入兩個(gè)字符給cl、c2,然后分別用函數(shù)和函數(shù)輸出 這兩個(gè)字符。并思考以下問題:(1)變量 c1 、
7、 c2 應(yīng)定義為字符型或整形?抑二者皆 可?(2)要求輸出cl和c2值的ASCII碼, 應(yīng)如何處理?用 putchar 函數(shù)還是 printf 函數(shù)? (3)整形變量與字符變量是否在任 何情況下都可以互相代替?如:char c1 , c2;與int c1 , c2;是否無(wú)條件的等價(jià)?#includestdio.hmain()main()float F,c;char c1,c2;scanf(%f,&F);c1=getchar();c2=getchar();putchar(c1);putchar( n);putchar(c 示。但是判斷一個(gè)邏輯量的值時(shí), 以 0 代表2);putchar( n);
8、#includestdio.hmain()char c1,c2;c1=getchar();c2=getchar();printf(c1=%d c2=%dn,c1,c2);printf(c1=%c c2=%cn,c1,c2);第五章5.1 什么是算術(shù)運(yùn)算?什么是關(guān)系運(yùn)算?什么是邏輯運(yùn)算?解:略。5.2 C 語(yǔ)言中如何表示“真”和“假”? 系統(tǒng)如何判斷一個(gè)量的“真”和“假”?“真”,以非 0 代表“假”。例如 3&5的值 為“真”,系統(tǒng)給出 3&5的值為 1。5.3 寫出下面各邏輯表達(dá)式的值。設(shè) a=3, b=4,c=5。(1) a+bc&b=c(2) a|b+c&b-c(3) !(ab)&!c|
9、1(4) !(x=a)&(y=b)&0(5) !(a+b)+c-1&b+c/2解:(1) 0(2) 1(3) 1(4) 0(5) 1解:設(shè)有一個(gè)邏輯表達(dá)式, 若其結(jié)果為“真”,5.4 有3個(gè)整數(shù)a b、c,由鍵盤輸入,#include 方法二: 使用條件表達(dá)式, 可以使程序更加 main() 簡(jiǎn)明、清晰。int x,y; 程序如下:方法一 int a,b,c,temp,max;#include printf( 請(qǐng)輸入 3個(gè)整數(shù): );1main()scanf(%d,%d,%d,&a,&b,&c); int a,b,c;temp=(ab)?a:b; /*將a和b中printf( 請(qǐng)輸入 3個(gè)整數(shù)
10、: );的大者存人 temp 中 */scanf(%d,%d,%d,&a,&b,&c);max=(tempc)?temp:c; /* 的大者與 c 比較,取最大者 */將a和b中if(ab)printf(3 個(gè)整數(shù)的最大數(shù)是%dn”,max);if(bc) printf(max=%dn,c);else printf(max=%dn,b);5.5 有一函數(shù):else if(ac) printf(max=%dn,c);寫一程序,輸入 x 值,輸出 y值。else printf(max=%dn,a);解:printf( 輸入 x:);#include scanf(%d,&x);A、B、C、D、E。9
11、0分以上為A ,if(x1) /*x1 */ y=x;printf(x=%3d, y=x=%dn,x,y);else if (x10) /* 1 x-10 */8090分為 B, 7079分為 C, 60 分以 下為 D。解:程序如下:#include main() float score; y=2*x-1;printf(x=%3d, y=2*x-1=%dn,x,y);else/* x 10 */ y=3*x-11;printf(x=%3d, y=3*x-11=%dn,x,y);char grade;printf( 請(qǐng)輸入學(xué)生成績(jī): );scanf(%f,&score);while(score
12、100|(score0) printf(n 輸入有誤 , 請(qǐng)重新輸入: );scanf(%f,&score);switch(int)(score/10) 求它是幾位數(shù); 分別打印出每一位數(shù)case 8: grade= B;break;case 7: grade= C;break;case 6: grade= D;break;case 5:case 4:case 3:case 2:case 1:case 0: grade= E;printf( 成績(jī)是 %5.1f ,相應(yīng)的等級(jí)是 %c。 n,score,grade);說(shuō)明:對(duì)輸入的數(shù)據(jù)進(jìn)行檢查, 如小于 0 或 大于 100,要求重新輸入。 (i
13、nt)(score/10) 的作用是將 (score/10) 的值進(jìn)行強(qiáng)制類 型轉(zhuǎn)換,得到一個(gè)整型值。字; 按逆序打印出各位數(shù)字。例如原數(shù)為 321,應(yīng)輸出 123。解:#include main() long int num;intindiv,ten,hundred,thousand,ten_thousand,place;/*分別代表個(gè)位、 十位、百位、千位、萬(wàn)位和位數(shù) */printf(請(qǐng)輸入一個(gè)整數(shù)(099999):);scanf(%ld,&num);if (num9999) place=5;else if(num999) place=4;else if(num99) place=3;e
14、lse place=1;,ten,indiv);printf(place =%dn, place);printf(n反序數(shù)字為: );ten_thousand=num/10000;printf(%d%d%d%dn,indiv,ten,hundredthousand=num/1000%10;,thousand);hundred=num/100%10;break;ten=num%100/10;case3indiv=num%10;printf(%d,%d,%d,hundred,ten,indiv);switch(place)printf(n反序數(shù)字為: ); case 5: printf(%d,%d
15、,%d,%d,%d,ten_thousand,printf(%d%d%dn,indiv,ten,hundred);thousand,hundred,ten,indiv);break;printf(n 反序數(shù)字為; );case 2: printf(%d,%d,ten,indiv);printf(n反序數(shù)字為: );printf(%d%d%d%d%dn,indiv,ten,hundred,thousand,ten_thousand);printf(%d%dn,indiv,ten);break;break;else if(num9) place=2;printf(%d,%d,%d,%d,thous
16、and,hundredcase 1: printf(%d,indiv);printf(n 反序數(shù)字為: );printf(%dn,indiv);break;5.8 企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn) I低于或等于 10 萬(wàn)元時(shí),獎(jiǎng)金可提成 10% ; 利潤(rùn)高于 10 萬(wàn)元,低于 20 萬(wàn)元( 100000I 200000)時(shí),其中10萬(wàn)元按10勉成, 高于 10 萬(wàn)元的部分, 可提成 7.5% ; 2000001 400000時(shí),其中20萬(wàn)元仍按上 述辦法提成 (下同),高于 20 萬(wàn)元的部分按 5%提成;4000001 600000 時(shí),高于 40 萬(wàn) 元的部分按 3%g成;600000 I
17、1000000 時(shí),超過 100 萬(wàn)元的部分按 1% 提成。從鍵盤輸入當(dāng)月利潤(rùn) I ,求應(yīng)發(fā)放獎(jiǎng) 金總數(shù)。要求: (1) 用 if 語(yǔ)句編程序; (2) 用 switch 語(yǔ)句編程序。解:計(jì)算利潤(rùn)時(shí), 要特別注意不同利潤(rùn)的不 同提成比例。例如,利潤(rùn)為 15萬(wàn)元,其中 有 10 萬(wàn)元按 10%的比例提成,另外 5 萬(wàn)元 則按 7.5%提成。(1) 用 if 語(yǔ)句編程序。#include main() long i;floatbonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1; /* 利潤(rùn)為10萬(wàn)元時(shí)的獎(jiǎng)金 */bon2=bon1+100000*0.07
18、5;/*利潤(rùn)為 20 萬(wàn)元時(shí)的獎(jiǎng)金 */bon4=bon2+200000*0.05;/*利潤(rùn)為 40 萬(wàn)元時(shí)的獎(jiǎng)金 */bon6=bon4+200000*0.03;/*利潤(rùn)為 60 萬(wàn)元時(shí)的獎(jiǎng)金 */bon10=bon6+400000*0.015;/* 利潤(rùn)為100萬(wàn)元時(shí)的獎(jiǎng)金 */ printf( 請(qǐng)輸入利潤(rùn) i :);scanf(%ld,&i);潤(rùn)在 100 萬(wàn)元以上時(shí)的獎(jiǎng)金 */if(i=100000)bonus=i*0.1; /* 利潤(rùn) 在 10 萬(wàn)元以內(nèi)按 0.1 提成獎(jiǎng)金 */else if(i=200000)bonus=bon1+(i-100000)*0.075; /* 利潤(rùn)在
19、10 萬(wàn)至 20萬(wàn)元時(shí)的獎(jiǎng)金 */else if(i=400000)bonus=bon2+(i-200000)*0.05; /* 利潤(rùn)在 20 萬(wàn)至 40萬(wàn)元時(shí)的獎(jiǎng)金 */else if(i=600000)bonus=bon4+(i-400000)*0.03; /* 利潤(rùn)在 40 萬(wàn)至 60萬(wàn)元時(shí)的獎(jiǎng)金 */else if(i=1000000)bonus=bon6+(i-600000)*0.015; /* 利 潤(rùn)在 60 萬(wàn)至 100萬(wàn)元時(shí)的獎(jiǎng)金 */elsebonus=bon10+(i-1000000)*0.01; /* 利 printf( ”獎(jiǎng)金是 %10.2fn,bonus);此題的關(guān)鍵
20、在于正確寫出每一區(qū)間的獎(jiǎng)金 計(jì)算公式。例如利潤(rùn)在 10萬(wàn)元至 20 萬(wàn)時(shí), 獎(jiǎng)金應(yīng)由兩部分組成:利潤(rùn)為10萬(wàn)元時(shí)應(yīng)得的獎(jiǎng)金。即100000x 0.1 ;10萬(wàn)元以 上部分應(yīng)得的獎(jiǎng)金。即(num-100000) x 0.075。同理,20萬(wàn)40萬(wàn)這個(gè)區(qū)間的獎(jiǎng)金 也應(yīng)由兩部分組成:利潤(rùn)為 20萬(wàn)元時(shí)應(yīng) 得的獎(jiǎng)金,即 100000x 0.1 x 10 萬(wàn) x 0.075 ; 20 萬(wàn) 元 以 上 部 分 應(yīng) 得 的 獎(jiǎng) 金 , 即(num-200000) x 0.05。程序中先把 10 萬(wàn)、20 萬(wàn)、40 萬(wàn)、60 萬(wàn)、100萬(wàn)各關(guān)鍵點(diǎn)的獎(jiǎng) 金計(jì)算出來(lái),即 bon1、 bon2、 bon4、 bon
21、6、 hon 10;然后再加上各區(qū)間附加部分的獎(jiǎng)金。(2) 用 switch 語(yǔ)句編程序。輸入利潤(rùn) i ,確定相應(yīng)的提成等級(jí) branch根據(jù) branch 確定獎(jiǎng)金值0 獎(jiǎng)金=i*0.11獎(jiǎng)金 =bon1+(i-105)*0.0752獎(jiǎng)金 =bon2+(i-2*105)*0.0534獎(jiǎng)金 =bon4+(i-4*105)*0.0356獎(jiǎng)金 =bon6+(i-6*105)*0.01578910 獎(jiǎng) 金=bon10+(i-106)*0.01輸出獎(jiǎng)金#include main() long i;float bonus, bon1, bon2, bon4, bon6,bon10;int c;bon1=
22、100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;printf( 請(qǐng)輸入利潤(rùn) i :);scanf(%ld,&i);c=i/100000;if(c10) c=10;switch(c) case 0: bonus=1*0.1;break;case 1bonus=bon1+(i-100000)*0.075;break;case 2 :case 3: bonus=bon2+(i-200000)*0.05;break;case 5:bonus=bon
23、4+(i-400000)*0.03;break;case 6:case 7:case 8:case 9: bonus=bon6+(i-600000)*0.015;break;case 10: bonus=bon10+(i-1000000)*0.01;printf( 獎(jiǎng)金是 %10.2f,bonus);5.9 輸入 4 個(gè)整數(shù),要求按由大到小的順 序輸出。解:此題采用依次比較的方法排出其大小順 序。在學(xué)習(xí)了循環(huán)和數(shù)組以后, 可以有更多 的排序方法。 int t,a,b,c,d;printf( 請(qǐng)輸入 4 個(gè)整數(shù): ); scanf(%d,%d,%d,%d,&a,&b,&c,&d);printf(
24、na=%d,b=%d,c=%d,d=%dn,a,b,c,d);if(ab) t=a; a=b; b=t;if(ac) t=a; a=c; c=t;if(ad) t=a; a=d; d=t;if(bc) t=a; b=c; c=t;if(bd) t=b; b=d; d=t;if(cd) t=c; c=d; d=t;printf( 排序結(jié)果如下: n);printf(%d, %d, %d, %dn,a,b,c,d);#include 2) 、(2 ,-2) 、(-2 ,-2) ,圓半徑為 1。這 45.10 有 4個(gè)圓塔,圓心分別為 (2 ,2) 、(-2 ,今輸入任一點(diǎn)的坐標(biāo),求該點(diǎn)的建筑高度(
25、 塔外的高度為零 ) 。程序如下:#include main() int h=10;floatx1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=-2,y4=-2,x,y,d1,d2,d3,d4;printf( 請(qǐng)輸入一個(gè)點(diǎn) (x,y) :);scanf(%f,%f,&x,&y);d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);/* 求該點(diǎn)到各中心點(diǎn)的距離 */d2=(x-x2)*(x-x2)+(y+y2)*(y+y2);d3=(x+x3)*(x+x3)+(y-y3)*(y-y3);d4=(x+x4)*(x-x4)*(y+y4)*(y+y4);printf(
26、該點(diǎn)高度為 %dn,h);第六章 循環(huán)控制6.1輸入兩個(gè)正整數(shù) m和n,求其最大公約 數(shù)和最小公倍數(shù)。main()long m,n,i=1,j,s;scanf(%ld,%ld,&m,&n);for(;i=m&i=n) j=m;else j=n;for(;!(j%m=0&j%n=0);j+);printf(s=%ld,j=%ldn,s,j);if(d11&d21&d31&d41)h=0;6.2 輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)int n,sum=0,i=1,s=2;#includestdio.hmain()char c;int i=0,j=0,k=0,l=0;wh
27、ile(c=getchar()!= n)if(c=65&c=97&c=48&c=57) j+;else if(c=32) k+;else l+;printf(i=%d,j=%d,k=%d,l=%dn,i,j,k,l);6.3 求 Sn=a+aa+aaa+aaaaa(有 n 個(gè) a) 之值, 其中 a 是一個(gè) 數(shù)字。例如: 2+22+222+2222+22222( n=5), n 由鍵盤輸 入。#includemath.hscanf(%d,&n);while(i=n)sum=sum+s;s=s+2*pow(10,i);i+;printf(sum=%dn,sum);6.4 求,(即求 1!+2!+
28、3!+4!+5!+ +20!)main()int n,i=1;long sum=0,s=1;scanf(%d,&n);while(i=n) s=s*i;sum=sum+s;i+;printf(sum=%ldn,sum);6.5 求main()main()i=1,j=1,k=1,s1=0,s2=0,s3=0,sum;for(;i=100;i+) s1=s1+i;for(;j=50;j+) s2=s2+j*j;for(;k=100&x1000) a=0.01*x;b=10*(0.01*x-a);c=x-100*a-1printf(%5d,x);x+;6.7 一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就
29、稱為完數(shù)o例如,6的因子為1、2、 3,而 6=1+2+3,因此 6 是完數(shù) 。編程序 找出 1000 之內(nèi)的所有完數(shù),并按下面格式 輸出其因子:6 its factors are 1 、 2、 3main()int m,i,j,s;for(m=6;m10000;m+)s=1;for(i=2;im;i+)if(m%i=0) s=s+i;if(m-s=0)printf(%5d its fastors are 10*b;,m);for(j=2;jm;j+) if(m%j=0)printf(%d ,j);printf(n); 求出這個(gè)數(shù)列的前 20 項(xiàng)之和main()1或main()int m,i,
30、j,s;for(m=6;m1000;m+)s=m-1;for(i=2;im;i+)if(m%i=0) s=s-i;if(s=0)printf(%5d its fastors are,m);for(j=2;jm;j+) if(m%j=0)printf(%d ,j);printf(n);main()int i=1,n;double t,x=1,y=2,s,sum=0;scanf(%ld,&n);while(i=n)s=y/x;sum=sum+s;t=y;y=y+x;x=t;i+;printf(%fn,sum);6.9 一球從 100 米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10
31、 次落地時(shí)共經(jīng)過多少米?第 10次反彈多高?int i,n;double h=100,s=100;scanf(%d,&n);for(i=1;i=n;i+) h*=0.5;if(i=1) continue;s=2*h+s;6.8 有一分?jǐn)?shù)序列: printf(h=%f,s=%fn,h,s);6.10 猴子吃桃問題。猴子第一天摘下若干 個(gè)桃子,當(dāng)即吃了一半,還不過癮,又多吃 了一個(gè)。第二天早上又將剩下的桃子吃掉一 半,又多吃一個(gè)。 以后每天早上都吃了前一 天剩下的一半零一個(gè)。到第 10 天早上想再 吃時(shí),見只剩下一個(gè)桃子了。 求第一天共摘 多少桃子。main()int i=1,sum=0;for(
32、;i=0.00001);printf(%.3fn,x1);6.12 用牛頓迭代法求方程在 1.5 附近的根。main()double x,y;x=1.5;doy=2*x*x*x-4*x*x+3*x-6;x=x-y/(6*x*x-8*x+3);while(y!=0);printf(x=%.3fn,x);float x0,x1,a;6.13 用二分法求方程在 (-10 ,10) 之間的根main()double x1,x2,y1,y2;x1=-10;x2=10;doy1=2*x1*x1*x1-4*x1*x1+3*x1-6;x1=x1-y1/(6*x1*x1-8*x1+3);while(y1!=0)
33、;doy2=2*x2*x2*x2-4*x2*x2+3*x2-6;x2=x2-y2/(6*x2*x2-8*x2+3);while(y2!=0);printf(x1=%.3f,x2=%.3fn,x1,x2);6.14 打印以下圖案#includemath.hmain()int i,j,k;for(i=0;i=3;i+)for(j=0;j=2-i;j+)printf( );for(k=0;k=2*i;k+)printf(*);printf(n);for(i=0;i=2;i+)for(j=0;j=i;j+)printf( );for(k=0;k=4-2*i;k+) printf(%5d,ai);pri
34、ntf(*);printf(n);printf(n);第七章 數(shù)組或7.1 用篩法求之內(nèi)的素?cái)?shù)。#includemath.hmain()main() int i,j,a100;static int i,j,k,a98;for(i=2;i100;i+)for(i=2;i100;i+) ai=i;ai=i;k=sqrt(i);for(j=2;j=i;j+)for(j=2;j=ai;j+)if(ji)if(j=k+1)if(ai-j=0)printf(%5d,ai);printf(n);7.2 用選擇法對(duì) 10 個(gè)整數(shù)從小到大排序。main() int i,j,a10,t;for(i=0;i10;i
35、+)scanf(%d,&ai);for(j=1;j10;j+)for(i=0;iai+1)t=ai+1;ai+1=ai;ai=t;for(i=0;i10;i+)printf(%5d,ai);main()static int a10,i,j,k,t;for(i=1;i11;i+)scanf(%d,&ai);for(j=1;j10;j+)for(i=1;iai+1)t=ai+1;ai+1=ai;ai=t;for(i=1;i11;i+)printf(%d,ai);printf(n);7.3求一個(gè)3X 3矩陣對(duì)角線元素之和main()int i=0,j=0,a33,s1,s2;for(j=0;j3;j
36、+)scanf(%d,&aij);s1=a00+a11+a22;s2=a02+a11+a20; printf(s1=%d,s2=%dn,s1,s2);或main()static int i,j,s1,s2,a33;for(i=1;i=3;i+)for(j=1;j0;i-)if(aiai-1)t=ai-1;ai-1=ai;ai=t;for(i=0;i10;i+)printf(%5d,ai);printf(n);或main()int i,t,b;scanf(%d,&b); for(i=0;i5;i+) if(b=ai)t=ai;ai=b;b=t;printf(%d ,ai);printf(%d,b
37、);7.5 將一個(gè)數(shù)組的值按逆序重新存放, 例如,原來(lái)順序?yàn)椋?8,6,5,4,1。要求改為: 1,4,5,6,8。main() int i,b10;for(i=0;i-1;i-)for(n=1;n=m;n+)printf(%-5d,bmn);printf(n);或main() int i,j,n,k,a1010;statica1=1,1,1,1,1,1,1,1,1,1;a11=1;for(j=1;j=i;j+)printf(%d,aij);7.7 打印“魔方陣”,所謂魔方陣是指這樣 的方陣,它的每一行、 每一列和對(duì)角線之和 均相等。例如,三階魔方陣為8 1 63 5 74 9 2要求打印出由
38、1n2的自然數(shù)構(gòu)成的魔方陣。解: for(k=2,k11;k+)#include for(i=2;i=k;i+)main() for(j=2;j=i;j+) int a1616,i,i,k,p,m,n; aij=ai-1j-1+ai-1j;p=1;j=j-1;while(p=1)/*要求階數(shù)為115的商數(shù)*/ printf(Enter n(n=115): ”);scanf(%d,&n);if(n!=0)&(n=15)&(n%2!=0)p=0;for(i=1;i=n;i+)/* 初始化 */for(j=1;j=n;j+) aij=0;j=n/2+1;/* 建立魔方陣 */a1j=1;for(k=
39、2;k=n*n;k+) i=i-1;j=j+1;if(in)else if(in) j=1;if(aij=0) aij=k;else i=i+2;j=j-1;aij=k;for(i=1;i=n;i+)/* 輸出魔方陣 */ for(j=1;j=n;j+) i=i+2;printf(%4d,aij);printf(n);bk=aij+1=aij; else7.8 找出一個(gè)二位數(shù)組中的鞍點(diǎn),即該位置 上的元素在該行上最大, 在該列上最小, 可能沒有鞍點(diǎn)。main()inta55,b5,c5,d55,k=0,l=0;inti,j;for(i=0;i5;i+)for(j=0;j5;j+)scanf(%
40、d,&dij);for(i=0;i5;i+)for(j=0;j5;j+,aij=dij);for(i=0,k=0;i5;i+,k+)for(j=0;j4;j+)bk=aij+1;也for(j=0,l=0;j5;j+,l+) for(i=0;i4;i+) if(aij=ai+1j) cl=ai+1j=aij;elsecl=ai+1j;for(i=0,k=0;i5;i+,k+)for(j=0,l=0;j=aij+1)printf(d%d%d=%dn,i,j,dij);printf(d%d%d=%d isnot andin,i,j,dij);7.9 有個(gè) 15 數(shù)按由小到大順序存放在一個(gè) 數(shù)組中,輸
41、入一個(gè)數(shù), 要求用折半查找法找 出該數(shù)組中第幾個(gè)元素的值。 如果該數(shù)不在 數(shù)組中,則打印出 無(wú)此數(shù) #includemath.hmain()static int i,j,m,a15=1,4,9,13,21,34,55,89,144 ,233,377,570,671,703,812;scanf(%d,&m);for(j=0;j15;j+)printf(%4d,aj);while(fabs(i-7)8)if(ma7)if(ai-m=0)printf(it is at(%d)n,i+1);break;i+;elseprintf(8n);if(fabs(i-7)-8=0)printf(There is notn);printf(n);7.10 有一篇文章,共有 3 行文字,每行有printf(%5d %7d %5d %6d %4dn,j,k,l, m,n);7.11打印以下圖案main()int i,j,k;char a55;for(i=0;i5;i+)for(j=0;j=65&str0i=97&str0i=48&str0iZ a-zB-Y b-yC-X c-x即第一個(gè)字母變成第 26 個(gè)字母,第 i 個(gè)字 母變成第( 26-i+1 )個(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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中數(shù)學(xué)人教版九年級(jí)下冊(cè)同步聽評(píng)課記錄28-2-1 第1課時(shí)《 解直角三角形》
- 2025年筒式采煤機(jī)合作協(xié)議書
- 北師大版七年級(jí)下冊(cè)數(shù)學(xué)聽評(píng)課記錄:第六章《概率初步回顧與思考》
- 部審湘教版七年級(jí)數(shù)學(xué)下冊(cè)3.3 第2課時(shí)《利用完全平方公式進(jìn)行因式分解》聽評(píng)課記錄
- 青島版數(shù)學(xué)七年級(jí)下冊(cè)《10.1 認(rèn)識(shí)二元一次方程組》聽評(píng)課記錄2
- 人教版道德與法治八年級(jí)上冊(cè)5.3《善用法律》聽課評(píng)課記錄
- 湘教版數(shù)學(xué)九年級(jí)上冊(cè)4.1.2《正弦》聽評(píng)課記錄
- 五年級(jí)上數(shù)學(xué)聽評(píng)課記錄
- 土地復(fù)墾合同范本
- 小區(qū)住宅房屋轉(zhuǎn)租合同范本
- 2024-2030年中國(guó)酒類流通行業(yè)發(fā)展動(dòng)態(tài)及投資盈利預(yù)測(cè)研究報(bào)告
- 物業(yè)管理如何實(shí)現(xiàn)降本增效
- JBT 1306-2024 電動(dòng)單梁起重機(jī)(正式版)
- 信息科技重大版 七年級(jí)下冊(cè) 互聯(lián)網(wǎng)應(yīng)用與創(chuàng)新 第一單元單元教學(xué)設(shè)計(jì) 互聯(lián)網(wǎng)創(chuàng)新應(yīng)用
- 高中政治必刷題 高考真題 必修3《政治與法治》(原卷版)
- 2024智慧城市城市交通基礎(chǔ)設(shè)施智能監(jiān)測(cè)技術(shù)要求
- 2024年執(zhí)業(yè)醫(yī)師考試-醫(yī)師定期考核(人文醫(yī)學(xué))筆試參考題庫(kù)含答案
- 【心理學(xué)與個(gè)人成長(zhǎng)課程論文3500字】
- JJG 1138-2017煤礦用非色散紅外甲烷傳感器
- 2024年極兔速遞有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2024-2030年中國(guó)無(wú)人機(jī)光電吊艙行業(yè)市場(chǎng)深度研究及投資規(guī)劃建議報(bào)告
評(píng)論
0/150
提交評(píng)論