(完整版)《C語言程序設(shè)計》課后習(xí)題答案(第四版)譚浩強(qiáng)_第1頁
(完整版)《C語言程序設(shè)計》課后習(xí)題答案(第四版)譚浩強(qiáng)_第2頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 1 章程序設(shè)計和 C 語言 11.1 什么是計算機(jī)程序 11.2 什么是計算機(jī)語言 11.3C 語言的發(fā)展及其特點 31.4 最簡單的 C 語言程序 51.4.1 最簡單的 C 語言程序舉例 61.4.2C 語言程序的結(jié)構(gòu) 101.5 運行 C 程序的步驟與方法 121.6 程序設(shè)計的任務(wù) 141-5#includeintmain()printf(*nn);printf(VeryGood!nn);printf(*、)return0;1-6#includeintmain()inta,b,c,max;printf(pleaseinputa,b,c:n);scanf(%d,%d,%d,&

2、a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(Thelargestnumberis%dn,max);return0;第 2 章算法程序的靈魂 162.1 什么是算法 162.2 簡單的算法舉例 172.3 算法的特性 212.4 怎樣表示一個算法 222.4.1 用自然語言表示算法 222.4.2 用流程圖表示算法 222.4.3 三種基本結(jié)構(gòu)和改進(jìn)的流程圖 262.4.4 用 NS 流程圖表示算法 282.4.5 用偽代碼表示算法 312.4.6 用計算機(jī)語言表示算法 322.5 結(jié)構(gòu)化程序設(shè)計方法 34 習(xí)題 36第章最

3、簡單的 C 程序設(shè)計一一順序程序設(shè)計373.1 順序程序設(shè)計舉例 373.2 數(shù)據(jù)的表現(xiàn)形式及其運算 393.2.1 常量和變量 393.2.2 數(shù)據(jù)類型 423.2.3 整型數(shù)據(jù) 443.2.4 字符型數(shù)據(jù) 473.2.5 浮點型數(shù)據(jù) 493.2.6 怎樣確定常量的類型 513.2.7 運算符和表達(dá)式 523.3C 語句 573.3.1C 語句的作用和分類 573.3.2 最基本的語句一一賦值語句 593.4 數(shù)據(jù)的輸入輸出 653.4.1 輸入輸出舉例 653.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念 673.4.3 用 printf 函數(shù)輸出數(shù)據(jù) 683.4.4 用 scanf 函數(shù)輸入數(shù)據(jù) 75

4、3.4.5 字符數(shù)據(jù)的輸入輸出 78 習(xí)題 823-1#include#includeintmain()floatp,r,n;r=0.1;n=10;p=pow(1+r,n);printf(p=%fn,p);return0;3-2-1#include#includeintmain()floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;/一次存 5 年期/先存 2年期,到期后將本息再存 3 年期/先存 3年期,到期后將本息再存 2 年期/存 1年期,到期后將本息存再存 1 年期,連續(xù)存 5次/存活期存款?;钇诶⒚恳患径冉Y(jié)算一次/輸出按第 1方案得到的本息和/輸

5、出按第 2方案得到的本息和/輸出按第 3方案得到的本息和/輸出按第 4方案得到的本息和/輸出按第 5方案得到的本息和return0;3-2-2#include#includeintmain()doubler5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;/一次存 5 年期/先存 2年期,到期后將本息再存 3 年期/先存 3年期,到期后將本息再存 2 年期/存 1年期,到期后將本息存再存 1 年期,連續(xù)存 5次/存活期存款?;钇诶⒚恳患径冉Y(jié)算一次/輸出按第 1方案得到的

6、本息和/輸出按第 2方案得到的本息和/輸出按第 3方案得到的本息和/輸出按第 4方案得到的本息和/輸出按第 5方案得到的本息和return0;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*(1+r5)*5);p2=p*(1+2*r2)*(1+3*r3);p3=p*(1+3*r3)*(1+2*r2);p4=p*pow(1+r1,5);p5=p*pow(1+r0/4,4*5);printf(p1=%fn,p1);printf(p2=%fn,p2);printf(p3=%fn,p3);printf(p4=%fn,p4);printf(p5

7、=%fn,p5);p1=p*(1+r5)*5);p2=p*(1+2*r2)*(1+3*r3);p3=p*(1+3*r3)*(1+2*r2);p4=p*pow(1+r1,5);p5=p*pow(1+r0/4,4*5);printf(p1=%fn,p1);printf(p2=%fn,p2);printf(p3=%fn,p3);printf(p4=%fn,p4);printf(p5=%fn,p5);3-2-3#include#includeintmain()floatr5,r3,r2,rl,r0,p,pl,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468

8、;r1=0.0414;r0=0.0072;/一次存 5年期/先存 2年期,到期后將本息再存 3 年期/先存 3年期,到期后將本息再存 2 年期/存 1年期,到期后將本息存再存 1 年期,連續(xù)存 5 次/存活期存款。活期利息每一季度結(jié)算一次/輸出按第 1 方案得到的本息和/輸出按第 2 方案得到的本息和/輸出按第 3 方案得到的本息和/輸出按第 4 方案得到的本息和/輸出按第 5 方案得到的本息和3-3.#include#includeintmain()floatd=300000,p=6000,r=0.01,m;m=log10(p/(p-d*r)/log10(1+r);printf(m=%6.2

9、fn,m);return0;3-4#includeintmain()intc1,c2;p1=p*(1+r5)*5);p2=p*(1+2*r2)*(1+3*r3);p3=p*(1+3*r3)*(1+2*r2);p4=p*pow(1+r1,5);p5=p*pow(1+r0/4,4*5);printf(p1=%10.2fn,p1);printf(p2=%10.2fn,p2);printf(p3=%10.2fn,p3);printf(p4=%10.2fn,p4);printf(p5=%10.2fn,p5);return0;c1=197;c2=198;printf(c1=%c,c2=%cn,c1,c2)

10、;printf(c1=%d,c2=%dn,c1,c2);return0;3-5#includeintmain()inta,b;floatx,y;charc1,c2;scanf(a=%db=%d,&a,&b);scanf(%f%e,&x,&y);scanf(%c%c,&c1,&c2);printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn,a,b,x,y,c1,c2);return0;3-6#includeintmain()charc1=C,c2=h,c3=i,c4=n,c5=a;c1=c1+4;c2=c2+4;c3=c3+

11、4;c4=c4+4;c5=c5+4;printf(passworis%c%c%c%c%cn,c1,c2,c3,c4,c5);return0;3-7#includeintmain()floath,r,l,s,sq,vq,vz;floatpi=3.141526;printf(請輸入圓半徑 r,圓柱高 h:);scanfC%f,%f,&r,&h);要求輸入圓半徑 r 和圓柱高 hl=2*pi*r;/計算圓周長 l/計算圓面積 ss=r*r*pi;sq=4*pi*r*r;/計算圓球表面積 sqvq=3.0/4.0*pi*r*r*r;/計算圓球體積 vqvz=pi*r*r*h;print

12、s圓周長為:/計算圓柱體積 vzl=%6.2fn,l);printf(”圓面積為:s=%6.2fn,s);printf(圓球表面積為:sq=%6.2fn,sq);printf(”圓球體積為:v=%6.2fn,vq);printf(圓柱體積為:vz=%6.2fn,vz);return0;3-8-1#includeintmain()intc1,c2;/整型定義printf(請輸入兩個整數(shù) cl,c2:);scanf(%d,%d,&c1,&c2);printf(按字符輸出結(jié)果:n);printf(%c,%cn,cl,c2);printf(按 ASCII 碼輸出結(jié)果為:n);print

13、f(%d,%dn,cl,c2);return0;3-8-2#includeintmain()charcl,c2;/定義字符型變量intil,i2;/定義整型變量printf(請輸入兩個字符 c1,c2:);scanf(%c,%c,&cl,&c2);i1=c1;/賦值給整型變量i2=c2;printf(按字符輸出結(jié)果:n);printf(%c,%cn,i1,i2);printf(按整數(shù)輸出結(jié)果:n);printf(%d,%dn,c1,c2);return0;3-8-3#includeintmain()charc1,c2;inti1,i2;printf(請輸入兩個整數(shù) il,i2:

14、);scanf(%d,%d,&i1,&i2);cl=il;c2=i2;printf(按字符輸出結(jié)果:n);printf(%c,%cn,cl,c2);printf(按整數(shù)輸出結(jié)果:n);printf(%d,%dn,cl,c2);return0;3-8#includeintmain()charcl,c2;printf(請輸入兩個字符 cl,c2:);cl=getchar();c2=getchar();printf(用 putchar語句輸出結(jié)果為:);putchar(cl);putchar(c2);printf(n);printf(用 printf 語句輸出結(jié)果為:);printf

15、(%c%cn,cl,c2);return0;第 4 章選擇結(jié)構(gòu)程序設(shè)計 854.1 選擇結(jié)構(gòu)和條件判斷 854.2 用 if 語句實現(xiàn)選擇結(jié)構(gòu) 874.2.1 用 if 語句處理選擇結(jié)構(gòu)舉例 874.2.2if 語句的一般形式 894.3 關(guān)系運算符和關(guān)系表達(dá)式 914.3.1 關(guān)系運算符及其優(yōu)先次序 914.3.2 關(guān)系表達(dá)式 924.4 邏輯運算符和邏輯表達(dá)式 924.4.1 邏輯運算符及其優(yōu)先次序 934.4.2 邏輯表達(dá)式 944.4.3 邏輯型變量 964.5 條件運算符和條件表達(dá)式 974.6 選擇結(jié)構(gòu)的嵌套 994.7 用 switch 語句實現(xiàn)多分支選擇結(jié)構(gòu) 1024.8 選擇

16、結(jié)構(gòu)程序綜合舉例 105/定義為字符型/定義為整型/將整數(shù)賦值給字符變量習(xí)題 1114-4-1#includeintmain()inta,b,c;printf(請輸入三個整數(shù):”);scanf(%d,%d,%d,&a,&b,&c);if(ab)if(bc)printf(max=%dn,c);elseprintf(max=%dn,b);elseif(ac)printf(max=%dn,c);elseprintf(max=%dn,a);return0;4-4-2#includeintmain()inta,b,c,temp,max;printf(請輸入三個整數(shù):”);scan

17、f(%d,%d,%d,&a,&b,&c);temp=(ab)?a:b;/*將 a 和 b 中的大者存入 temp 中*/max=(tempc)?temp:c;/*將 a 和 b 中的大者與 c 比較,取最大者*/printf(三個整數(shù)的最大數(shù)是dn,max);return0;4-5-2#include#include#defineM1000intmain()inti,k;printf(請輸入一個小于d 的整數(shù) i:,M);scanf(%d,&i);while(iM)printf(輸入的數(shù)不符合要求,請重新輸入一個小于小的整數(shù)i:,M);scanf(%d,&

18、;i);k=sqrt(i);printf(%d的平方根的整數(shù)部分是:dn,i,k);return0;4-5#include#include#defineM1000intmain()inti,k;printf(請輸入一個小于d 的整數(shù) i:,M);scanf(%d,&i);if(iM)printf(輸入的數(shù)不符合要求,請重新輸入一個小于小的整數(shù)i:,M);scanf(%d,&i);k=sqrt(i);printf(%d的平方根的整數(shù)部分是:dn,i,k);return0;4-6.#includeintmain()intx,y;printf(輸入 x:);scanf(%d,&

19、;x);if(x1)/*x1*/y=x;printf(x=%3d,y=x=%dn,x,y);elseif(x10)/*1=x=10*/y=3*x-11;printf(x=%d,y=3*x-11=%dn,x,y);return0;4-7-1#includeintmain()intx,y;printf(enterx:);scanf(%d,&x);y=-1;if(x!=0)if(x0)y=1;elsey=0;printf(x=%d,y=%dn,x,y);return0;4-7-2#includeintmain()intx,y;printf(pleaseenterx:);scanf(%d,&a

20、mp;x);y=0;if(x=0)if(x0)y=1;elsey=-1;printf(x=%d,y=%dn,x,y);return0;4-8#includeintmain()floatscore;chargrade;printf(請輸入學(xué)生成績:”);scanf(%f,&score);while(score100|score0)printf(n輸入有誤,請重輸);scanf(%f,&score);switch(int)(score/10)case10:case9:grade=A;break;case8:grade=B;break;case7:grade=C;break;case

21、6:grade=D;break;case5:case4:case3:case2:case1:case0:grade=E;printf(成績是5.1f,相應(yīng)的等級是cn,score,grade);return0;4-9#include#includeintmain()intnum,indiv,ten,hundred,thousand,ten_thousand,place;位,萬位和位數(shù)printf(請輸入一個整數(shù)(0-99999):);scanf(%d,&num);if(num9999)place=5;elseif(num999)place=4;elseif(num99)place=3;

22、elseif(num9)place=2;/分別代表個位,十位,百位,千elseplace=1;printf(位數(shù):dn,place);printf(每位數(shù)字為:”);ten_thousand=num/10000;thousand=(int)(num-ten_thousand*10000)/1000;hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-ten_thousand*10

23、000-thousand*1000-hundred*100-ten*10);switch(place)case5:printf(%d,%d,%d,%d,%d,ten_thousand,thousand,hundred,ten,indiv);printf(n 反序數(shù)字為:”);printf(%d%d%d%d%dn,indiv,ten,hundred,thousand,ten_thousand);break;case4:printf(%d,%d,%d,%d,thousand,hundred,ten,indiv);printf(n 反序數(shù)字為:”);printf(%d%d%d%dn,indiv,te

24、n,hundred,thousand);break;case3:printf(%d,%d,%d,hundred,ten,indiv);printf(n 反序數(shù)字為:”);printf(%d%d%dn,indiv,ten,hundred);break;case2:printf(%d,%d,ten,indiv);printf(n 反序數(shù)字為:”);printf(%d%dn,indiv,ten);break;case1:printf(%d,indiv);printf(n 反序數(shù)字為:”);printf(%dn,indiv);break;return0;4-10-1#includeintmain()i

25、nti;doublebonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+100000*0.05;bon6=bon4+100000*0.03;bon10=bon6+400000*0.015;printf(請輸入利潤 i:);scanf(%d,&i);if(i=100000)bonus=i*0.1;elseif(i=200000)bonus=bon1+(i-100000)*0.075;elseif(i=400000)bonus=bon2+(i-200000)*0.05;elseif

26、(i=600000)bonus=bon4+(i-400000)*0.03;elseif(i=1000000)bonus=bon6+(i-600000)*0.015;elsebonus=bon10+(i-1000000)*0.01;printf(獎金是:10.2fn,bonus);return0;4-10-2#includeintmain()inti;doublebonus,bon1,bon2,bon4,bon6,bon10;intbranch;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+20000

27、0*0.03;bon10=bon6+400000*0.015;printf(請輸入利潤 i:);scanf(%d,&i);branch=i/100000;if(branch10)branch=10;switch(branch)case0:bonus=i*0.1;break;case1:bonus=bon1+(i-100000)*0.075;break;case2:case3:bonus=bon2+(i-200000)*0.05;break;case4:case5:bonus=bon4+(i-400000)*0.03;break;case6:case7:case8:case9:bonus

28、=bon6+(i-600000)*0.015;break;case10:bonus=bon10+(i-1000000)*0.01;printf(獎金是10.2fn,bonus);return0;4-11#includeintmain()intt,a,b,c,d;printf(請輸入四個數(shù):”);scanf(%d,%d,%d,%d,&a,&b,&c,&d);printf(a=%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=b;b=c;

29、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);return0;4-12#includeintmain()inth=10;floatx1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;printf(請輸入一個點(x,y):);scanf(%f,%f,&x,&y);d1=(x-x4)*(x-x4)+(y-y4)*(y-y4);/*求該點到各中心點距離*/d2=(x-x1)*(x-x1)+(y-y1

30、)*(y-y1);d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);if(d11&d21&d31&d41)h=0;/*判斷該點是否在塔外*/printf(該點高度為dn,h);return0;第 5 章循環(huán)結(jié)構(gòu)程序設(shè)計 1145.1 為什么需要循環(huán)控制 1145.2 用 while 語句實現(xiàn)循環(huán) 1155.3 用 do.while 語句實現(xiàn)循環(huán) 1175.4 用 for 語句實現(xiàn)循環(huán) 1205.5 循環(huán)的嵌套 1245.6 幾種循環(huán)的比較 1255.7 改變循環(huán)執(zhí)行的狀態(tài) 1255.7.1 用 b

31、reak 語句提前終止循環(huán) 1265.7.2 用 continue 語句提前結(jié)束本次循環(huán) 1275.7.3break 語句和 continue 語句的區(qū)別 1285.8 循環(huán)程序舉例 131習(xí)題 1405-2/程序中用到數(shù)學(xué)函數(shù) fabs,應(yīng)包含頭文件 math.n/sign用來表示數(shù)值的符號,count用來統(tǒng)計循環(huán)次數(shù)/pi開始代表多項式的值,最后代表 n 的值,n 代表分母,/檢查當(dāng)前項 term 的絕對值是否大于或等于 10的(-6)/把當(dāng)前項 term 累加到 pi中/n+2 是下一項的分母/sign代表符號,下一項的符號與上一項符號相反/求出下一項的值 term/count累加 1/

32、多項式的和 pi 乘以 4,才是 n 的近似值/輸出 n 的近似值/輸出循環(huán)次數(shù)return0;#include#includeintmain()intsign=1,count=0;doublepi=0.0,n=1.0,term=1.0;term 代表當(dāng)前項的值while(fabs(term)=1e-8)次方pi=pi+term;n=n+2;sign=-sign;term=sign/n;count+;pi=pi*4;printf(pi=%10.8fn,pi);printf(count=%dn,count);5-3#includeintmain()intp,r,n,m,temp;printf(請

33、輸入兩個正整數(shù) n,m:);scanf(%d,%d,&n,&m);if(nm)temp=n;n=m;m=temp;p=n*m;while(m!=0)r=n%m;n=m;m=r;printf(它們的最大公約數(shù)為:dn,n);printf(它們的最小公約數(shù)為:dn,p/n);return0;5-4#includeintmain()charc;intletters=0,space=0,digit=0,other=0;printf(請輸入一行字符:n);while(c=getchar()!=n)if(c=a&c=A&c=0&c=9)digit+;elseothe

34、r+;printf(字母數(shù):dn空格數(shù):dn數(shù)字?jǐn)?shù):dn其它字符數(shù):dn,letters,space,digit,other);return0;5-5#includeintmain()inta,n,i=1,sn=0,tn=0;printf(a,n=:);scanf(%d,%d,&a,&n);while(i=n)tn=tn+a;/*賦值后的 tn為 i 個 a 組成數(shù)的值*/sn=sn+tn;/*賦值后的 sn 為多項式前 i 項之和*/a=a*10;+i;printf(a+aa+aaa+.=%dn,sn);return0;5-6#includeintmain()doubles=

35、0,t=1;intn;for(n=1;n=20;n+)t=t*n;s=s+t;printf(1!+2!+.+20!=%22.15en,s);return0;5-7#includeintmain()intn1=100,n2=50,n3=10;doublek,s1=0,s2=0,s3=0;for(k=1;k=n1;k+)s1=s1+k;for(k=1;k=n2;k+)s2=s2+k*k;for(k=1;k=n3;k+)s3=s3+1/k;/*計算 1到 100的和*/*計算 1到 50各數(shù)的平方和*/*計算 1到 10的各倒數(shù)和*/printf(sum=%15.6fn,s1+s2+s3);retu

36、rn0;5-8#includeintmain()inti,j,k,n;printf(parcissusnumbersare);for(n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf(%d,n);printf(n);return0;5-9-1#defineM1000#include/*定義尋找范圍*/intmain()intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;inti,a,n,s;for(a=2;a=M;a+)n=0;s=a;for(i=1;i1)printf(%d,%d,k

37、1,k2);if(n2)printf(,%d,k3);因子*/if(n3)printf(,%d,k4);因子*/if(n4)printf(,%d,k5);if(n5)printf(,%d,k6);if(n6)printf(,%d,k7);if(n7)printf(,%d,k8);if(n8)printf(,%d,k9);if(n9)printf(,%d,k10);printf(n);return0;/*n1表示 a至少有 2個因子*/*n2 表示至少有 3個因子,故應(yīng)再輸出一個/*n3表示至少有 4個因子,故應(yīng)再輸出一個/*以下類似*/5-9-2#includeintmain()intm,s,

38、i;for(m=2;m1000;m+)s=0;for(i=1;im;i+)if(m%i)=0)s=s+i;if(s=m)printf(%d,itsfactorsare,m);for(i=1;im;i+)if(m%i=0)printf(%d,i);printf(n);return0;5-10#includeintmain()inti,n=20;doublea=2,b=1,s=0,t;for(i=1;i=n;i+)s=s+a/b;t=a,a=a+b,b=t;printf(sum=%16.10fn,s);return0;5-11#includeintmain()doublesn=100,hn=sn/

39、2;intn;for(n=2;n=10;n+)sn=sn+2*hn;/*第 n次落地時共經(jīng)過的米數(shù)*/hn=hn/2;/*第 n 次反跳高度*/printf(第 10次落地時共經(jīng)過彳米n,sn);printf(第 10次反彈f米n,hn);return0;5-12#includeintmain()intday,x1,x2;day=9;x2=1;while(day0)x1=(x2+1)*2;/*第 1天的桃子數(shù)是第 2天桃子數(shù)加 1后的 2 倍.*/x2=x1;day-;printf(total=%dn,x1);return0;5-13#include#includeintmain()float

40、a,x0,x1;printf(enterapositivenumber:);scanf(%f,&a);x0=a/2;x1=(x0+a/x0)/2;dox0=x1;x1=(x0+a/x0)/2;while(fabs(x0-x1)=1e-5);printf(Thesquarerootof%5.2fis%8.5fn,a,x1);return0;5-14#include#includeintmain()doublex1,x0,f,f1;x1=1.5;dox0=x1;f=(2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;while(fabs(x1-x

41、0)=1e-5);printf(Therootofequationis%5.2fn,x1);return0;5-15#include#includeintmain()floatx0,x1,x2,fx0,fx1,fx2;doprintf(enterx1&x2:);scanf(%f,%f,&x1,&x2);fx1=x1*(2*x1-4)*x1+3)-6;fx2=x2*(2*x2-4)*x2+3)-6;while(fx1*fx20);dox0=(x1+x2)/2;fx0=x0*(2*x0-4)*x0+3)-6;if(fx0*fx1)=1e-5);printf(x=%6.2fn

42、,x0);return0;5-16#includeintmain()inti,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(*);printf(n);return0;5-17#includeintmain()chari,j,k;/*是 a 的對手;j 是 b 的對手;k是 c 的對手*/for(i=x;i=z;i+)for(j=x;j=z;j+)if

43、(i!=j)for(k=x;k=z;k+)if(i!=k&j!=k)if(i!=x&k!=x&k!=z)printf(A-%cnB-%cnC-%cn,i,j,k);return0;第 6 章利用數(shù)組處理批量數(shù)據(jù) 1426.1 怎樣定義和引用一維數(shù)組 1426.1.1 怎樣定義一維數(shù)組 1436.1.2 怎樣引用一維數(shù)組元素 1446.1.3 一維數(shù)組的初始化 1456.1.4 一維數(shù)組程序舉例 1466.2 怎樣定義和引用二維數(shù)組 1486.2.1 怎樣定義二維數(shù)組 1496.2.2 怎樣引用二維數(shù)組的元素 1506.2.3 二維數(shù)組的初始化 1516.2.4 二維數(shù)組

44、程序舉例 1526.3 字符數(shù)組 1546.3.1 怎樣定義字符數(shù)組 1546.3.2 字符數(shù)組的初始化 1556.3.3 怎樣引用字符數(shù)組中的元素 1556.3.4 字符串和字符串結(jié)束標(biāo)志 1566.3.5 字符數(shù)組的輸入輸出 1596.3.6 使用字符串處理函數(shù) 1616.3.7 字符數(shù)組應(yīng)用舉例 165 習(xí)題 1686-1#include#includeintmain()inti,j,n,a101;for(i=1;i=100;i+)ai=i;a1=0;for(i=2;isqrt(100);i+)for(j=i+1;j=100;j+)if(ai!=0&aj!=0)if(aj%ai=

45、0)aj=0;printf(n);for(i=2,n=0;i=100;i+)if(ai!=0)printf(%5d,ai);n+;if(n=10)printf(n);n=0;printf(n);return0;6-2#includeintmain()inti,j,min,temp,a11;printf(enterdata:n);for(i=1;i=10;i+)printf(a%d=,i);scanf(%d,&ai);printf(n);printf(Theorginalnumbers:n);for(i=1;i=10;i+)printf(%5d,ai);printf(n);for(i=1

46、;i=9;i+)min=i;for(j=i+1;jaj)min=j;temp=ai;ai=amin;amin=temp;printf(nThesortednumbers:n);for(i=1;i=10;i+)printf(%5d,ai);printf(n);return0;6-3#includeintmain()inta33,sum=0;inti,j;printf(enterdata:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%3d,&aij);for(i=0;i3;i+)sum=sum+aii;printf(sum=%6dn,sum);return0;

47、6-4#includeintmain()inta11=1,4,6,9,13,16,19,28,40,100;inttemp1,temp2,number,end,i,j;printf(arraya:n);for(i=0;iend)a10=number;elsefor(i=0;inumber)temp1=ai;ai=number;for(j=i+1;j11;j+)temp2=aj;aj=temp1;temp1=temp2;break;printf(Nowarraya:n);for(i=0;i11;i+)printf(%5d,ai);printf(n);return0;6-5#include#def

48、ineN5intmain()intaN,i,temp;printf(enterarraya:n);01NUU 七P#Aq.2plsvupno啟#99oUJBUJ亠-urm啟-Id 二二5巳寸=壬啟 Jd(+=N.VOH)X-UVEAEJJqAYONUrm 啟-iddul 呂丄1-7乙&二乏&丄二&EEHdu!呂)(+&N.VOH)啟二二5巳寸=壬啟 Jd(+=N.VOH)JQJX-UVE 啟 Jd 二二&冬=P%=UEOS(+=N.VOH)JQJH.dx二巴=ln二E-U二OU-SUI一啟Aq.2plsvupno啟#soUJBUJy-urm啟-Id 宀亠

49、-urm啟.id 二二三5P9%=)七啟-Id(+HVOHD魚(+=N.VOH)JEs?二&+?二?二&丄二三&(+FHVFD啟(+Z.V7H)啟二丄0=二&二丄二US(+=N.VOH)JQJ二 NHNJ42W 二0U-SUI一啟#defineM5/*數(shù)組為 4 行 5列*/p=1;while(p=1)printf(entern(n=1-15):);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

50、=2;k=n*n;k+)i=i-1;j=j+1;if(in)i=i+2;j=j-1;elseif(in)j=1;if(aij=0)aij=k;elsei=i+2;j=j-1;aij=k;for(i=1;i=n;i+)for(j=1;j=n;j+)printf(%5d,aij);printf(n);return0;6-8#include#defineN4intmain()inti,j,k,aNM,max,maxj,flag;printf(pleaseinputmatrix:n);for(i=0;iN;i+)for(j=0;jM;j+)scanf(%d,&aij);for(i=0;iN;i

51、+)max=ai0;maxj=0;for(j=0;jmax)max=aij;maxj=j;flag=1;for(k=0;kakmaxj)flag=0;continue;if(flag)/*將本行的最大數(shù)存放在 max 中*/*將最大數(shù)所在的列號存放在 maxj 中*/*先假設(shè)是鞍點,以 flag為 1代表*/*將最大數(shù)和其同列元素相比*/*如果 max 不是同列最小,表示不是鞍點令 flagl 為 0*/*如果 flag1為 1 表示是鞍點*/printf(a%d%d=%dn,i,maxj,max);/*輸出鞍點的值和所在行列號*/break;if(!flag)/*如果 flag為 0表示鞍點

52、不存在*/printf(Itisnotexist!n);return0;6-9#include#defineN15intmain()inti,number,top,bott,mid,loca,aN,flag=1,sign;charc;printf(enterdata:n);scanf(%d,&a0);i=1;while(i=ai-1)i+;elseprintf(enterthisdataagain:n);printf(n);for(i=0;iN;i+)printf(%5d,ai);printf(n);while(flag)printf(inputnumbertolookfor:);sc

53、anf(%d,&number);sign=0;top=0;/top是查找區(qū)間的起始位置bott=N-1;/bott是查找區(qū)間的最末位置if(numberaN-1)/要查的數(shù)不在查找區(qū)間內(nèi)loca=-1;/表示找不到while(!sign)&(top=bott)mid=(bott+top)/2;if(number=amid)loca=mid;printf(Hasfound%d,itspositionis%dn,number,loca+1);sign=1;elseif(numberamid)bott=mid-1;elsetop=mid+1;if(!sign|loca=-1)prin

54、tf(cannotfind%d.n,number);printf(continuornot(Y/N)?);scanf(%c,&c);if(c=N|c=n)flag=0;return0;6-10#includeintmain()inti,j,upp,low,dig,spa,oth;chartext380;upp=low=dig=spa=oth=0;for(i=0;i3;i+)printf(pleaseinputline%d:n,i+1);gets(texti);for(j=0;j=A&textij=a&textij=0&textij=9)dig+;elseif(t

55、extij=)spa+;elseoth+;printf(nuppercase:%dn,upp);printf(lowercase:%dn,low);printf(digit:%dn,dig);printf(space:%dn,spa);printf(other:%dn,oth);return0;6-11#includeintmain()chara5=*,*,*,*,*;inti,j,k;charspace=;for(i=0;i5;i+)printf(n);printf();for(j=1;j=i;j+)printf(%c,space);for(k=0;k5;k+)printf(%c,ak);p

56、rintf(n);return0;6-12a-c#includeintmain()intj,n;charch80,tran80;printf(inputciphercode:);gets(ch);printf(nciphercode:%s,ch);j=0;while(chj!=0)if(chj=A)&(chj=a)&(chj=z)tranj=219-chj;elsetranj=chj;j+;n=j;printf(noriginaltext:);for(j=0;jn;j+)putchar(tranj);printf(n);return0;6-12b#includeintmain(

57、)intj,n;charch80;printf(inputciphercode:n);gets(ch);printf(nciphercode:%sn,ch);j=0;while(chj!=0)if(chj=A)&(chj=a)&(chj=z)chj=219-chj;elsechj=chj;j+;n=j;printf(originaltext:);for(j=0;jn;j+)putchar(chj);printf(n);return0;6-13#includeintmain()chars180,s240;inti=0,j=0;printf(inputstring1:);scanf

58、(%s,s1);printf(inputstring2:);scanf(%s,s2);while(s1i!=0)i+;while(s2j!=0)s1i+=s2j+;s1i=0;printf(nThenewstringis:%sn,s1);return0;6-14#includeintmain()inti,resu;chars1100,s2100;printf(inputstring1:);gets(s1);printf(ninputstring2:);gets(s2);i=0;while(s1i=s2i)&(s1i!=0)i+;if(s1i=0&s2i=0)resu=0;els

59、eresu=s1i-s2i;printf(nresult:%d.n,resu);return0;6-15#include#includeintmain()chars180,s280;inti;printf(inputs2:);scanf(%s,s2);for(i=0;i=strlen(s2);i+)s1i=s2i;printf(s1:%sn,s1);return0;第 7章用函數(shù)實現(xiàn)模塊化程序設(shè)計 1707.1為什么要用函數(shù) 1707.2怎樣定義函數(shù) 1727.2.1 為什么要定義函數(shù) 1727.2.2 定義函數(shù)的方法1737.3調(diào)用函數(shù) 1747.3.1函數(shù)調(diào)用的形式 1747.3.2函數(shù)調(diào)

60、用時的數(shù)據(jù)傳遞1757.3.3函數(shù)調(diào)用的過程1777.3.4函數(shù)的返回值1787.4對被調(diào)用函數(shù)的聲明和函數(shù)原型1797.5函數(shù)的嵌套調(diào)用1827.6函數(shù)的遞歸調(diào)用 1847.7 數(shù)組作為函數(shù)參數(shù) 1927.7.1 數(shù)組元素作函數(shù)實參1937.7.2 數(shù)組名作函數(shù)參數(shù) 1947.7.3 多維數(shù)組名作函數(shù)參數(shù) 1977.8局部變量和全局變量 1997.8.1 局部變量 1997.8.2 全局變量 2007.9變量的存儲方式和生存期 2047.9.1 動態(tài)存儲方式與靜態(tài)存儲方式 2047.9.2 局部變量的存儲類別2057.9.3 全局變量的存儲類別 2087.9.4 存儲類別小結(jié) 2127.10

61、 關(guān)于變量的聲明和定義 2147.11內(nèi)部函數(shù)和外部函數(shù)2157.11.1內(nèi)部函數(shù)2157.11.2 外部函數(shù) 215 習(xí)題 2187-1-1#includeintmain()inthcf(int,int);intlcd(int,int,int);intu,v,h,l;scanf(%d,%d,&u,&v);h=hcf(u,v);printf(H.C.F=%dn,h);l=lcd(u,v,h);printf(L.C.D=%dn,l);return0;inthcf(intu,intv)intt,r;if(vu)t=u;u=v;v=t;while(r=u%v)!=0)u=v;v=r;return(v);intlcd(intu,intv,inth)return(u*v/h);7-1-

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論