C語言程序的設計譚浩強第四版課后答案_第1頁
C語言程序的設計譚浩強第四版課后答案_第2頁
C語言程序的設計譚浩強第四版課后答案_第3頁
C語言程序的設計譚浩強第四版課后答案_第4頁
C語言程序的設計譚浩強第四版課后答案_第5頁
已閱讀5頁,還剩102頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第 15 頁】*nn);*n);第一章 程序設計和 C 語言1-5#include int main ( ) printf (printf( Very Good!nn);printf (return 0;1-6#include int main()int a,b,c,max; printf(please input a,b,c:n); scanf(%d,%d,%d,&a,&b,&c);max=a;if (maxb)max=b;if (maxc)max=c;printf(The largest number is %dn,max);return 0;第 2 章算法程序的靈魂 【第 36 頁】暫無

2、答案第 3 章最簡單的 C 程序設計順序程序設計【第 82 頁】3-1#include #include int main()float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf(p=%fn,p);return 0;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); /一次存 5 年期先存 2 年期,到期后將本息再存 先存 3 年期,到期后將本息再存

3、存 1 年期,到期后將本息存再存3 年期2 年期1 年期,連續存 5 次存活期存款。活期利息每一季度結算一次輸出按第 1 方案得到的本息和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); / return 0;一次存

4、 5 年期先存 2 年期,到期后將本息再存 3 年期 先存 3 年期,到期后將本息再存 2 年期存 1 年期,到期后將本息存再存 1 年期,連續存 5 次 存活期存款。活期利息每一季度結算一次輸出按第 1 方案得到的本息和 輸出按第 2 方案得到的本息和 輸出按第 3 方案得到的本息和 輸出按第 4 方案得到的本息和 輸出按第 5 方案得到的本息和3-2-1#include #include int main()float r5,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.00

5、72;3-2-2#include #include int main()double r5,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;printf(p2=%fn,p2); / printf(p3=%fn,p3); / printf(p4=%fn,p4); / printf(p5=%fn,p5); / return 0;3-2-3#include #include int main()float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=10

6、00;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;輸出按第 2 方案得到的本息和 輸出按第 3 方案得到的本息和 輸出按第 4 方案得到的本息和 輸出按第 5 方案得到的本息和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)

7、; / printf(p4=%10.2fn,p4); / printf(p5=%10.2fn,p5); / return 0;一次存 5 年期先存 2 年期,到期后將本息再存 先存 3 年期,到期后將本息再存 存 1 年期,到期后將本息存再存3 年期2 年期1 年期,連續存 5 次存活期存款。活期利息每一季度結算一次輸出按第 1 方案得到的本息和 輸出按第 2 方案得到的本息和 輸出按第 3 方案得到的本息和 輸出按第 4 方案得到的本息和 輸出按第 5 方案得到的本息和3-3.#include #include int main()float d=300000,p=6000,r=0.01,m

8、; m=log10(p/(p-d*r)/log10(1+r); printf(m=%6.2fn,m);return 0;3-4#i nclude int mai n()int c1,c2;c1=197;c2=198;prin tf(c1=%c,c2=%c n,c1,c2);printf(c1=%d, c2=%dn,c1,c2);return 0;3-5#i nclude int mai n()int a,b;float x,y;char c1,c2;scan f(a=%d b=%d, &a, &b);scan f(%f %e, &x,& y);scan f(%c%c,&c1,&c2);prin

9、 tf(a=%d,b=%d,x=%f,y=%f,c %c,c2=%c n,a,b,x,y,c1,c2); return 0;3-6#i nclude int mai n()char c仁C,c2=h,c3=i,c4= n,c5=a;c仁 c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;prin tf(passwor is %c%c%c%c%cn,c1,c2,c3,c4,c5);return 0; 3-7定義字符型變量定義整型變量賦值給整型變量#include int main () float h,r,l,s,sq,vq,vz; float pi=3.141526;p

10、rintf(請輸入圓半徑r,圓柱高h : ”);scanf(%f,%f,&r,&h);/要求輸入圓半徑 r 和圓柱高 hl=2*pi*r;/計算圓周長 ls=r*r*pi;/計算圓面積 ssq=4*pi*r*r;/計算圓球表面積 sqvq=3.0/4.0*pi*r*r*r;/計算圓球體積 vqvz=pi*r*r*h;/計算圓柱體積 vzprintf(圓周長為 :l=%6.2fn,l);printf(圓面積為 :s=%6.2fn,s);printf(圓球表面積為: sq=%6.2fn,sq);printf(圓球體積為 :v=%6.2fn,vq);printf( return 0;圓柱體積為 :v

11、z=%6.2fn,vz);3-8-1#include int main()int c1,c2; / 整型定義 printf( 請輸入兩個整數 c1,c2:);scanf(%d,%d,&c1,&c2);printf( 按字符輸出結果 :n);printf(%c,%cn,c1,c2);printf( 按 ASCII 碼輸出結果為 :n);printf(%d,%dn,c1,c2);return 0;3-8-2#include int main()char c1,c2; /int i1,i2; /printf( 請輸入兩個字符 c1,c2:); scanf(%c,%c,&c1,&c2);i1=c1;

12、/i2=c2;定義為字符型定義為整型將整數賦值給字符變量printf( 按字符輸出結果 :n); printf(%c,%cn,i1,i2);printf( 按整數輸出結果 :n);printf(%d,%dn,c1,c2);return 0;3-8-3#include int main()char c1,c2; / int i1,i2; / printf( 請輸入兩個整數 i1,i2:); scanf(%d,%d,&i1,&i2);c1=i1; / c2=i2;printf( 按字符輸出結果 :n); printf(%c,%cn,c1,c2);printf( 按整數輸出結果 :n);printf

13、(%d,%dn,c1,c2);return 0;3-8#include int main()char c1,c2;printf( 請輸入兩個字符 c1,c2:); c1=getchar();c2=getchar();printf( 用 putchar 語句輸出結果為 :); putchar(c1);putchar(c2);printf(n);printf( 用 printf 語句輸出結果為 :); printf(%c %cn,c1,c2);return 0;第 4 章選擇結構程序設計【第 111 頁】 4-4-1#include int main()int a,b,c;printf( 請輸入三

14、個整數 :);scanf(%d,%d,%d,&a,&b,&c);if (ab)if (bc)printf(max=%dn,c);elseprintf(max=%dn,b);else if (ac)printf(max=%dn,c);elseprintf(max=%dn,a);return 0;4-4-2#include int main() int a,b,c,temp,max;printf( 請輸入三個整數 :);scanf(%d,%d,%d,&a,&b,&c);temp=(ab)?a:b; /* 將 a 和 b 中的大者存入 temp 中 */ max=(tempc)?temp:c; /*

15、 將 a 和 b 中的大者與 c 比較 , 取最大者 */ printf( 三個整數的最大數是 %dn,max);return 0;4-5-2#include #include #define M 1000int main()int i,k;printf(”請輸入一個小于d的整數i:,M);scanf(%d,&i);while (iM)printf(輸入的數不符合要求,請重新輸入一個小于d的整數i:,M);scanf(%d,&i);k=sqrt(i);printf(%d 的平方根的整數部分是: %dn,i,k); return 0;4-5#include #include #define M

16、1000 int main() int i,k;printf(”請輸入一個小于d的整數i:,M);scanf(%d,&i);if (iM)printf(輸入的數不符合要求,請重新輸入一個小于d的整數i:,M);scanf(%d,&i);k=sqrt(i);printf(%d 的平方根的整數部分是: %dn,i,k); return 0;4-6.#include int main() int x,y;printf( 輸入 x:); scanf(%d,&x);if(x1)/* x1 */ y=x;printf(x=%3d, y=x=%dn ,x,y);else if(x10)/* 1=x=10 *

17、/ y=3*x-11;printf(x=%d, y=3*x-11=%dn,x,y);return 0;4-7-1#include int main()int x,y;printf(enter x:);scanf(%d,&x);y=-1;if(x!=0)if(x0)y=1;elsey=0;printf(x=%d,y=%dn,x,y); return 0;4-7-2#include int main()int x,y;printf(please enter x:);scanf(%d,&x);y=0;if(x=0)if(x0) y=1;else y=-1;printf(x=%d,y=%dn,x,y)

18、; return 0;4-8#include int main() float score;char grade;printf( 請輸入學生成績 :); scanf(%f,&score);while (score100|score0)分別代表個位 , 十printf(n 輸入有誤 ,請重輸 ); scanf(%f,&score);switch(int)(score/10)case 10:case 9: grade=A;break;case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;case 5:case 4:cas

19、e 3:case 2:case 1:case 0: grade=E;printf( 成績是 %5.1f, 相應的等級是 %cn ,score,grade); return 0;4-9#include #include int main()int num,indiv,ten,hundred,thousand,ten_thousand,place; / 位, 百位, 千位, 萬位和位數printf( 請輸入一個整數 (0-99999):); scanf(%d,&num);if (num9999) place=5;else if (num999)place=4;else if (num99) pla

20、ce=3;else if (num9)place=2;else place=1;printf(位數 :%dn,place);printf( 每位數字為 :); 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*100

21、00-thousand*1000-hundred*100-ten*10); switch(place)case 5:printf(%d,%d,%d,%d,%d,ten_thousand,thousand,hundred,ten,indiv); printf(n 反序數字為 :); printf(%d%d%d%d%dn,indiv,ten,hundred,thousand,ten_thousand); break;case 4:printf(%d,%d,%d,%d,thousand,hundred,ten,indiv); printf(n 反序數字為 :); printf(%d%d%d%dn,i

22、ndiv,ten,hundred,thousand); break;case 3:printf(%d,%d,%d,hundred,ten,indiv); printf(n 反序數字為 :); printf(%d%d%dn,indiv,ten,hundred); break;case 2:printf(%d,%d,ten,indiv); printf(n 反序數字為 :); printf(%d%dn,indiv,ten); break;case 1:printf(%d,indiv); printf(n 反序數字為 :); printf(%dn,indiv); break;return 0;4-1

23、0-1#include int main()int i;double bonus,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;else if (i過茜 scanf(=%d=8d)八 branchll.looooo 八 if (branchxo) branch。

24、八 swifch(branch) 宀 case 9bonusll.*prbreak 八 case V-d-onusubord +(H 00000)*0075 八 break 八 caseb?case9?bonusubon2+(T200000)*oo5 八 break 八 case acase 5 bonusubon4+(T400000)*oo3 八 break 八case9?case 7.case9?caseS9bonusubon6+(T600000)*oo15 八 break 八 case lpbonusubordo+(Loooooo)*oor prinff(= 牘貯淞 10.2fn=bon

25、us)八return 0;4-11#include int main()int t,a,b,c,d;printf( 請輸入四個數 :);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;c=t;if (bd) t=b;b=d;d=t;if (cd) t=c;c=d;d=t;printf( 排序結果如下 : n);printf(%d %d %d %d n ,a

26、,b,c,d);return 0;4-12#include int main()int h=10;float x1=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)*(y-y1);d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);if

27、 (d11 & d21 & d31 & d41) h=0; /*判斷該點是否在塔外 */printf( 該點高度為 %dn,h);return 0;程序中用到數學函數 fabs ,應包含頭文件 math.n用來表示數值的符號 ,count 用來統計循環開始代表多項式的值,最后代表n的值 ,n檢查當前項 term 的絕對值是否大于或等于 10把當前項 term 累加到 pi 中是下一項的分母代表符號,下一項的符號與上一項符號相求出下一項的值 term累加 1多項式的和pi乘以4,才是n的近似值輸出n的近似值輸出循環次數第 5 章循環結構程序設計【第 140 頁】5-2#include #incl

28、ude /int main()int sign=1,count=0; / sign 次數double pi=0.0,n=1.0,term=1.0; / pi 代表分母, term 代表當前項的值 while(fabs(term)=1e-8) / 的(-6) 次方pi=pi+term;/n=n+2;/ n+2sign=-sign;/ sign反term=sign/n; / count+; / count pi=pi*4; / printf(pi=%10.8fn,pi); / printf(count=%dn,count); / return 0;5-3#include int main()int

29、 p,r,n,m,temp;printf( 請輸入兩個正整數 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(它們的最大公約數為 :%dn,n);printf(它們的最小公約數為 :%dn,p/n);return 0;5-4#include int main()char c;int letters=0,space=0,digit=0,other=0;printf( 請輸入一行字符 :n);while(c=getchar()!=n)if (c=a

30、 & c=A & c=0 & c=9) digit+;elseother+;printf( 字 母 數 :%dn 空 格 數 :%dn 數 字 數 :%dn 數:dn ,letters,space,digit,other);return 0;5-5#include int main()int a,n,i=1,sn=0,tn=0;printf(a,n=:); scanf(%d,%d,&a,&n);while (i=n)tn=tn+a; /*賦值后的 tn 為 i 個 a 組成數的值 */sn=sn+tn; /* 賦值后的 sn 為多項式前 i 項之和 */ a=a*10;+i;printf(a+

31、aa+aaa+.=%dn,sn); return 0;5-6#include int main()double s=0,t=1;int n;for (n=1;n=20;n+)t=t*n;s=s+t;printf(1!+2!+.+20!=%22.15en,s); return 0;5-7printf(sum=%15.6fn,s1+s2+s3); return 0;#include int main()int n1=100,n2=50,n3=10;double k,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;

32、for (k=1;k=n3;k+)s3=s3+1/k;/*/*/*計算計算計算到 100 的和 */到 50 各數的平方和 */到 10 的各倒數和 */5-8#include int main()int i,j,k,n;printf(parcissus numbers are );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);return 0;5-9-1#define M 1000 /*#include 定義尋找范圍 */int main()

33、int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;int i,a,n,s;for (a=2;a=M;a+) /* an=0; /* ns=a;/* sfor (i=1;i1) printf(%d,%d,k1,k2); /* n1if (n2) printf(,%d,k3); /* n2 出一個因子 */if (n3) printf(,%d,k4);/* n3出一個因子 */if (n4) printf(,%d,k5);/*if (n5) printf(,%d,k6);if (n6) printf(,%d,k7);if (n7) printf(,%d,k8);if (n8)

34、printf(,%d,k9);if (n9) printf(,%d,k10);printf(n);return 0; 5-9-2#include int main()int m,s,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,its factors are ,m); for (i=1;im;i+)if (m%i=0) printf(%d ,i); printf(n);return 0;5-10#include int main()int i,n=20;double a=2,b=1,s=0,t

35、;for (i=1;i=n;i+)s=s+a/b;t=a,a=a+b,b=t;printf(sum=%16.10fn,s);return 0;5-11#include int main()double sn=100,hn=sn/2;int n;for (n=2;n=10;n+)sn=sn+2*hn; /* 第 n 次落地時共經過的米數 */hn=hn/2; /* 第 n 次反跳高度 */printf( 第 10 次落地時共經過 %f 米 n,sn);printf( 第 10 次反彈 %f 米 n,hn);return 0;5-12#include int main()int day,x1,x2

36、;day=9;x2=1;while(day0)x1=(x2+1)*2; /* 第 1 天的桃子數是第 2 天桃子數加 1 后的 2 倍 .*/ x2=x1;day-;printf(total=%dn,x1);return 0;5-13#include #include int main()float a,x0,x1;printf(enter a positive number:);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(The square root of

37、%5.2f is %8.5fn,a,x1);return 0;5-14#include #include int main()double x1,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-x0)=1e-5);printf(The root of equation is %5.2fn,x1);return 0;5-15#include #include int main()float x0,x1,x2,fx0,fx1,fx2;doprintf(enter x1 &

38、 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,x0);return 0;5-16#include int main()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);fo

39、r (i=0;i=2;i+)for (j=0;j=i;j+)printf( );for (k=0;k=4-2*i;k+) printf(*);printf(n);return 0;5-17#include int main()char i,j,k; /* 是 a 的對手 ;j 是 b 的對手 ;k 是 c 的對手 */ for (i=x;i=z;i+)for (j=x;j=z;j+)if (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);return 0;第 6

40、章利用數組處理批量數據 【第 168 頁】6-1#include #include int main()int i,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=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);return 0;6-2#include int main()int i

41、,j,min,temp,a11; printf(enter data:n);for (i=1;i=10;i+)printf(a%d=,i);scanf(%d,&ai);printf(n);printf(The orginal numbers:n); for (i=1;i=10;i+) printf(%5d,ai);printf(n);for (i=1;i=9;i+)min=i;for (j=i+1;jaj) min=j; temp=ai;ai=amin;amin=temp;printf(nThe sorted numbers:n); for (i=1;i=10;i+)printf(%5d,ai

42、);printf(n);return 0;6-3#include int main()int a33,sum=0;int i,j;printf(enter data: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); return 0;6-4#include int main() int a11=1,4,6,9,13,16,19,28,40,100;int temp1,temp2,number,end,i,j;printf(array a:n)

43、;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(Now array a:n);for (i=0;i11;i+)printf(%5d,ai);printf(n);return 0;循環的作用是將對稱的元素的值互換6-5#include #define N 5int main() int aN,i,temp; printf(enter array a:n); for (i=0;iN;i+) sc

44、anf(%d,&ai); printf(array a:n);for (i=0;iN;i+) printf(%4d,ai);for (i=0;iN/2;i+)/ temp=ai;ai=aN-i-1; aN-i-1=temp;printf(nNow,array a:n); for (i=0;iN;i+) printf(%4d,ai);printf(n);return 0;6-6#include #define N 10int main() int i,j,aNN;for (i=0;iN;i+)aii=1;ai0=1;for (i=2;iN;i+)for (j=1;j=i-1;j+) aij=ai

45、-1j-1+ai-1j;for (i=0;iN;i+)for (j=0;j=i;j+) printf(%6d,aij);printf(n);printf(n);return 0;6-7#include int main() int a1515,i,j,k,p,n;p=1;while(p=1)printf(enter n(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+)return 0;aij=0;j=n/2+1;a1j=1;for (k=2;k=n*n;k+)i=

46、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);#define M 5/*數組為 4 行 5 列 */int main()int i,j,k,aNM,max,maxj,flag; printf(please input matrix:n); for (i=0;iN;i+) /*輸入數組 */for (j=0;jM;j+)scanf(%d,&aij);for (i

47、=0;iN;i+) max=ai0;/*maxj=0;/*for (j=0;jmax) max=aij; /* maxj=j; /* flag=1; /* for (k=0;kakmaxj) /* flag=0; /*開始時假設 ai0 最大 */ 將列號 0 賦給 maxj 保存 */ 找出第 i 行中的最大數 */將本行的最大數存放在max 中 */將最大數所在的列號存放在 maxj 中 */先假設是鞍點,以 flag 為 1 代表 */將最大數和其同列元素相比 */如果max不是同列最小,表示不是鞍點令flagl為0 */continue;if(flag)/*如果 flag1printf

48、(a%d%d=%dn,i,maxj,max); /*為 1 表示是鞍點 */輸出鞍點的值和所在行列號*/break;if(!flag)/*如果 flag 為 0 表示鞍點不存在 */printf(It is not exist!n);return 0;6-9#include #define N 15int main()6-8#include #define N 4 int i,number,top,bott,mid,loca,aN,flag=1,sign; char c;printf(enter data:n); scanf(%d,&a0);i=1; while(i=ai-1) i+;else

49、printf(enter this data again:n);return 0; printf(n);for (i=0;iN;i+)printf(%5d,ai); printf(n); while(flag)printf(input number to look for:); scanf(%d,&number);sign=0;top=0; /top 是查找區間的起始位置 bott=N-1; /bott 是查找區間的最末位置if (numberaN-1) / 要查的數不在查找區間內 loca=-1; / 表示找不到while (!sign) & (top=bott) mid=(bott+top

50、)/2;if (number=amid) loca=mid; printf(Has found %d, its position is %dn,number,loca+1); sign=1;else if (numberamid) bott=mid-1;else top=mid+1;if(!sign|loca=-1) printf(cannot find %d.n,number);printf(continu or not(Y/N)?);scanf( %c,&c);if (c=N|c=n) flag=0;6-10#include int main()int i,j,upp,low,dig,sp

51、a,oth;char text380;upp=low=dig=spa=oth=0;for (i=0;i3;i+) printf(please input line %d:n,i+1); gets(texti);for (j=0;j=A& textij=a & textij=0 & textij=9) dig+;else if (textij= )spa+;elseoth+;printf(nupper case: %dn,upp); printf(lower case: %dn,low); printf(digit : %dn,dig); printf(space : %dn,spa); pri

52、ntf(other : %dn,oth);return 0;6-11#include int main() char a5=*,*,*,*,*; int i,j,k;char space= ;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);printf(n); return 0;6-12a-c#include int main() int j,n;char ch80,tran80; printf(input cipher code:); get

53、s(ch);printf(ncipher code :%s,ch); j=0;while (chj!=0) if (chj=A) & (chj=a) & (chj=z) tranj=219-chj;elsetranj=chj;j+;n=j; printf(noriginal text:);for (j=0;jn;j+) putchar(tranj);printf(n); return 0;6-12b#include int main() int j,n;char ch80; printf(input cipher code:n); gets(ch);printf(ncipher code:%s

54、n,ch);j=0;while (chj!=0) if (chj=A) & (chj=a) & (chj=z) chj=219-chj;elsechj=chj;j+;n=j;printf(original text:);for (j=0;jn;j+) putchar(chj);printf(n);return 0;6-13#include int main() char s180,s240; int i=0,j=0;printf(input string1:); scanf(%s,s1);printf(input string2:); scanf(%s,s2);while (s1i!=0) i

55、+;while(s2j!=0) s1i+=s2j+;s1i=0;printf(nThe new string is:%sn,s1); return 0;6-14#include int main() int i,resu;char s1100,s2100;printf(input string1:);gets(s1);printf(ninput string2:);gets(s2);i=0;while (s1i=s2i) & (s1i!=0)i+;if (s1i=0 & s2i=0) resu=0;elseresu=s1i-s2i; printf(nresult:%d.n,resu); ret

56、urn 0;6-15#include #include int main() char s180,s280;int i;printf(input s2:); scanf(%s,s2); for (i=0;i=strlen(s2);i+) s1i=s2i;printf(s1:%sn,s1); return 0; 第 7 章用函數實現模塊化程序設計 【第 218 頁】 7-1-1#include int main()int hcf(int,int);int lcd(int,int,int);int u,v,h,l; scanf(%d,%d,&u,&v); h=hcf(u,v);printf(H.C

57、.F=%dn,h); l=lcd(u,v,h);printf(L.C.D=%dn,l); return 0;int hcf(int u,int v)int t,r;if (vu)t=u;u=v;v=t;while (r=u%v)!=0)u=v;v=r;return(v);int lcd(int u,int v,int h)return(u*v/h);7-1-2#include int Hcf,Lcd;int main()void hcf(int,int);void lcd(int,int);int u,v;scanf(%d,%d,&u,&v);hcf(u,v);lcd(u,v);printf(

58、H.C.F=%dn,Hcf); printf(L.C.D=%dn,Lcd); return 0;void hcf(int u,int v)int t,r;if (vu)t=u;u=v;v=t;while (r=u%v)!=0)u=v;v=r;Hcf=v;void lcd(int u,int v)Lcd=u*v/Hcf;7-2#include #include float x1,x2,disc,p,q;int main()void greater_than_zero(float,float);void equal_to_zero(float,float);void smaller_than_ze

59、ro(float,float);float a,b,c;printf(input a,b,c:); scanf(%f,%f,%f,&a,&b,&c);printf(equation: %5.2f*x*x+%5.2f*x+%5.2f=0n,a,b,c); disc=b*b-4*a*c;printf(root:n);if (disc0)greater_than_zero(a,b); printf(x1=%fttx2=%fn,x1,x2);else if (disc=0)equal_to_zero(a,b); printf(x1=%fttx2=%fn,x1,x2);elsesmaller_than_

60、zero(a,b); printf(x1=%f+%fitx2=%f-%fin,p,q,p,q);return 0;void greater_than_zero(float a,float b) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a);void equal_to_zero(float a,float b) x1=x2=(-b)/(2*a);void smaller_than_zero(float a,float b)p=-b/(2*a);q=sqrt(-disc)/(2*a);7-3#include int main()int prime

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論