《C語言程序設計》課后習題答案第四版譚浩強

上傳人:奔*** 文檔編號:47534080 上傳時間:2021-12-22 格式:DOCX 頁數(shù):54 大小:100.69KB
收藏 版權申訴 舉報 下載
《C語言程序設計》課后習題答案第四版譚浩強_第1頁
第1頁 / 共54頁
《C語言程序設計》課后習題答案第四版譚浩強_第2頁
第2頁 / 共54頁
《C語言程序設計》課后習題答案第四版譚浩強_第3頁
第3頁 / 共54頁

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

12 積分

下載資源

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

資源描述:

《《C語言程序設計》課后習題答案第四版譚浩強》由會員分享,可在線閱讀,更多相關《《C語言程序設計》課后習題答案第四版譚浩強(54頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第1章程序設計和C語言1 1.1 什么是計算機程序 1 1.2 什么是計算機語言 1 1.3 C 語言的發(fā)展及其特點 3 1.4 最簡單的 C 語言程序 5 1.4.1 最簡單的C語言程序舉例6 1.4.2 C 語言程序的結構 10 1.5 運行C程序的步驟與方法12 1.6 程序設計的任務 14 1-5 #include int main ( ) printf ( ”************************ **\n\n"); printf(" Very Good!\n\n"); printf ( ”******

2、****************** **\n"); 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 (max

3、 簡單的算法舉例17 2.3 算法的特性21 2.4 怎樣表示一個算法 22 2.4.1 用自然語言表示算法 22 2.4.2 用流程圖表示算法 22 2.4.3 三種基本結構和改進的流程圖 26 2.4.4 用N S流程圖表示算法 28 2.4.5 用偽代碼表示算法 31 2.4.6 用計算機語言表示算法 32 2.5 結構化程序設計方法 34 習題36 第章最簡單的C程序設計一一順序程序設計37 3.1 順序程序設計舉例 37 3.2 數(shù)據(jù)的表現(xiàn)形式及其運算 39 3.2.1 常量和變量39 3.2.2 數(shù)據(jù)類型42 3.2.3 整型數(shù)據(jù)44 3.2.4

4、字符型數(shù)據(jù)47 3.2.5 浮點型數(shù)據(jù)49 3.2.6 怎樣確定常量的類型 51 3.2.7 運算符和表達式52 3.3 C語句57 3.3.1 C語句的作用和分類 57 3.3.2 最基本的語句一一賦值語句59 3.4 數(shù)據(jù)的輸入輸出 65 3.4.1 輸入輸出舉例65 3.4.2 有關數(shù)據(jù)輸入輸出的概念 67 3.4.3 用printf函數(shù)輸出數(shù)據(jù)68 3.4.4 用scanf函數(shù)輸入數(shù)據(jù)75 3.4.5 字符數(shù)據(jù)的輸入輸出 78 習題 82 3-1 #include #include int main() {floa

5、t p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; } 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; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存 5 年期 p2=p*(1+2*r2)*(1+3*r3);

6、 // 先存 2 年期,到期后將本息再存 3 年期 p3=p*(1+3*r3)*(1+2*r2); // 先存 3 年期,到期后將本息再存 2 年期 p4=p*pow(1+r1,5); // 存 1 年期,到期后將本息存再存 1 年期,連續(xù)存 5 次 p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度結算一次 printf("p1=%f\n",p1); // 輸出按第 1 方案得到的本息和 printf("p2=%f\n",p2); // 輸出按第 2 方案得到的本息和 printf("p3=%f\n",p3); //

7、輸出按第 3 方案得到的本息和 printf("p4=%f\n",p4); // 輸出按第 4 方案得到的本息和 printf("p5=%f\n",p5); // 輸出按第 5 方案得到的本息和 return 0; 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;

8、 r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存 5 年期 p2=p*(1+2*r2)*(1+3*r3); // 先存 2 年期,到期后將本息再存 3 年期 p3=p*(1+3*r3)*(1+2*r2); // 先存 3 年期,到期后將本息再存 2 年期 p4=p*pow(1+r1,5); // 存 1 年期,到期后將本息存再存 1 年期,連續(xù)存 5 次 p5=p*pow(1+r0/4,4*5); // 存活期存款?;钇诶⒚恳患径冉Y算一次 printf("p1=%f\n",p1); //

9、 輸出按第 1 方案得到的本息和 printf("p2=%f\n",p2); // 輸出按第 2 方案得到的本息和 printf("p3=%f\n",p3); // 輸出按第 3 方案得到的本息和 printf("p4=%f\n",p4); // 輸出按第 4 方案得到的本息和 printf("p5=%f\n",p5); // 輸出按第 5 方案得到的本息和 r1=0.0414; return 0; 3-2-3 #include #include int main() {float r5,r3,

10、r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r0=0.0072; p1=p*((1+r5)*5); // 一次存 5 年期 p2=p*(1+2*r2)*(1+3*r3); // 先存 2 年期,到期后將本息再存 3 年期 p3=p*(1+3*r3)*(1+2*r2); // 先存 3 年期,到期后將本息再存 2 年期 p4=p*pow(1+r1,5); // 存 1 年期,到期后將本息存再存 1 年期,連續(xù)存 5 次 p5=p*pow(1+r0/4,4*5);

11、 // 存活期存款?;钇诶⒚恳患径冉Y算一次 // 輸出按第 1 方案得到的本息和 // 輸出按第 2 方案得到的本息和 // 輸出按第 3 方案得到的本息和 // 輸出按第 4 方案得到的本息和 // 輸出按第 5 方案得到的本息和 printf("p1=%10.2f\n",p1); printf("p2=%10.2f\n",p2); printf("p3=%10.2f\n",p3); printf("p4=%10.2f\n",p4); printf("p5=%10.2f\n",p5); return 0; 3-3. #

12、include #include int main() {float d=300000,p=6000,r=0.01,m; m=log10(p/(p -d*r))/log10(1+r); printf("m=%6.2f\n",m); return 0; 3-4 #include int main() {int c1,c2; c1=197; c2=198; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d , c2=%d\n",c1,c2); return 0; }

13、 3-5 #include int main() {int a,b; float x,y; char c1,c2; scanf("a=%d b=%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=%c\n",a,b,x,y,c1,c2); return 0; } 3-6 #include int main() {char c1=C,c2=h,c3=i,c4=n,c5=a; c1=c1+4

14、; c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4; printf("passwor is %c%c%c%c%c\n",c1,c2,c3,c4,c5); return 0; } 3-7 #include int main () {float h,r,l,s,sq,vq,vz; float pi=3.141526; printf(" 請輸入圓半徑 r,圓柱高h :"); scanf("%f,%f",&r,&h); l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; vq=3.0/4.0*pi*r*r*r

15、; vz=pi*r*r*h; // 要求輸入圓半徑 r 和圓柱高 h // 計算圓周長 l // 計算圓面積 s // 計算圓球表面積 sq // 計算圓球體積 vq // 計算圓柱體積 vz printf(" 圓周長為 : l=%6.2f\n",l); printf(" 圓面積為 : s=%6.2f\n",s); printf(" 圓球表面積為 : sq=%6.2f\n",sq); printf(" 圓球體積為 : v=%6.2f\n",vq); printf(" 圓柱體積為 : vz=%6.2f\n",vz); return 0; 3-8-1 #inc

16、lude int main() { int c1,c2; //整型定義 printf(" 請輸入兩個整數(shù) c1,c2:"); scanf("%d,%d",&c1,&c2); printf(" 按字符輸出結果 :\n"); printf("%c,%c\n",c1,c2); printf(" 按 ASCII 碼輸出結果為 :\n"); printf("%d,%d\n",c1,c2); return 0; } 3-8-2 #include int main() { //定義字符型變量 //定義整型變量 //賦值給整型變量

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

18、t i1,i2; printf(" 請輸入兩個整數(shù) i1,i2:"); scanf("%d,%d",&i1,&i2); c1=i1; c2=i2; printf(" 按字符輸出結果 :\n"); printf("%c,%c\n",c1,c2); printf(" 按整數(shù)輸出結果 :\n"); printf("%d,%d\n",c1,c2); return 0; } 3-8 #include int main() { char c1,c2; printf(" 請輸入兩個字符 c1,c2:"); c1=getchar(); c2=getcha

19、r(); printf(" 用 putchar 語句輸出結果為 :"); putchar(c1); putchar(c2); printf("\n"); printf(" 用 printf 語句輸出結果為 :"); printf("%c %c\n",c1,c2); return 0; } 第 4 章選擇結構程序設計 85 4.1 選擇結構和條件判斷 85 4.2 用 if 語句實現(xiàn)選擇結構 87 4.2.1 用 if 語句處理選擇結構舉例 87 4.2.21 f 語句的一般形式 89 4.3 關系運算符和關系表達式 91 4.3.1 關系運算符及其優(yōu)先次序 9

20、1 4.3.2 關系表達式 92 4.4 邏輯運算符和邏輯表達式 92 4.4.1 邏輯運算符及其優(yōu)先次序 93 4.4.2 邏輯表達式 94 4.4.3 邏輯型變量 96 4.5 條件運算符和條件表達式 97 4.6 選擇結構的嵌套 99 4.7 用 switch 語句實現(xiàn)多分支選擇結構 102 4.8 選擇結構程序綜合舉例 105 習題 111 4-4-1 #include int main() { int a,b,c; printf(" 請輸入三個整數(shù) :"); scanf("%d,%d,%d",&a,&b,&c); if (a

21、) if (b int main() { int a,b,c,temp,max; printf(" 請輸入三個整數(shù) :"); scanf("%d,%d,%d",&a,&b,&c); temp=(a>b)?a:b; /*將 a 和 b 中的大者存入 temp 中*

22、/ max=(temp>c)?temp:c; /*將 a 和 b 中的大者與 c 比較 ,取最大者 */ printf(" 三個整數(shù)的最大數(shù)是 %d\n",max); return 0; 4-5-2 #include #include #define M 1000 int main() { int i,k; printf(" 請輸入一個小于 %d 的整數(shù) i:",M); scanf("%d",&i); while (i>M) {printf(" 輸入的數(shù)不符合要求,請重新輸入一個小于 %d 的整數(shù) i:",M); scanf(

23、"%d",&i); } k=sqrt(i); printf("%d 的平方根的整數(shù)部分是: %d\n",i,k); return 0; } 4-5 #include #include #define M 1000 int main() int i,k; printf(" 請輸入一個小于 %d 的整數(shù) i:",M); scanf("%d",&i); if (i>M) :",M); {printf(" 輸入的數(shù)不符合要求,請重新輸入一個小于 %d 的整數(shù) scanf("%d",&i); k=sqrt(i); printf(

24、"%d 的平方根的整數(shù)部分是: %d\n",i,k); return 0; 4-6. #include int main() { int x,y; printf(" 輸入 x:"); scanf("%d",&x); if(x<1) /* x<1 */ { y=x; printf("x=%3d, y=x=%d\n" ,x,y); else if(x<10) /* 1==

25、10 */ { y=3*x -11; printf("x=%d, y=3*x -11=%d\n",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(x>0) y=1; else y=0; printf("x=%d,y=%d\n",x,y); return 0; } 4-7-2 #include int main() { in

26、t x,y; printf("please enter x:"); scanf("%d",&x); y=0; if(x>=0) if(x>0) y=1; else y=-1; printf("x=%d,y=%d\n",x,y); return 0; 4-8 #include int main() { float score; char grade; printf(" 請輸入學生成績 :"); scanf("%f",&score); while (score>100||score<0) {printf("\n 輸入有誤 ,請重輸 ");

27、 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: case 3: case 2: case 1: case 0: grade=E; } printf(" 成績是 %5.1f, 相應的等級是 %c\n ",score,grade); return 0; } 4-9 #include

28、 #include int main() { int num,indiv,ten,hundred,thousand,ten_thousand,place; //分別代表個位 ,十位 ,百位 ,千 位,萬位和位數(shù) printf(" 請輸入一個整數(shù) (0-99999):"); scanf("%d",&num); if (num>9999) place=5; else if (num>999) place=4; else if (num>99) place=3; else if (num>9) place=2; else place=

29、1; printf(" 位數(shù) :%d\n",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*10000 -thousand*10

30、00-hundred*100-ten*10); switch(place) {case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv); printf("\n 反序數(shù)字為 :"); printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand); break; case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv); printf("\n 反序數(shù)字為 :"); prin

31、tf("%d%d%d%d\n",indiv,ten,hundred,thousand); break; case 3:printf("%d,%d,%d",hundred,ten,indiv); printf("\n 反序數(shù)字為 :"); printf("%d%d%d\n",indiv,ten,hundred); break; case 2:printf("%d,%d",ten,indiv); printf("\n 反序數(shù)字為 :"); printf("%d%d\n",indiv,ten); break; case 1:printf("%d",indiv); printf(

32、"\n 反序數(shù)字為 :"); printf("%d\n",indiv); break; } return 0; } 4-10-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:"); sc

33、anf("%d",&i); if (i<=100000) bonus=i*0.1; else if (i<=200000) bonus=bon1+(i-100000)*0.075; else if (i<=400000) bonus=bon2+(i -200000)*0.05; else if (i<=600000) bonus=bon4+(i -400000)*0.03; else if (i<=1000000) bonus=bon6+(i-600000)*0.015; else bonus=bon10+(i -1000000)*0.01; printf(" 獎金是

34、 : %10.2f\n",bonus); return 0; } 4-10-2 #include int main() { int i; double bonus,bon1,bon2,bon4,bon6,bon10; int branch; bon1=100000*0.1; bon2=bon1+100000*0.075; bon4=bon2+200000*0.05; bon6=bon4+200000*0.03; bon10=bon6+400000*0.015; printf(" 請輸入利潤 i:"); scanf("%d",&i); bra

35、nch=i/100000; if (branch>10) branch=10; switch(branch) { case 0:bonus=i*0.1;break; case 1:bonus=bon1+(i-100000)*0.075;break; case 2: case 3: bonus=bon2+(i -200000)*0.05;break; case 4: case 5: bonus=bon4+(i -400000)*0.03;break; case 6: case 7: case 8: case 9: bonus=bon6+(i -600000)*0.015;

36、break; case 10: bonus=bon10+(i-1000000)*0.01; } printf(" 獎金是 %10.2f\n",bonus); return 0; } 4-11 #include int main() {int t,a,b,c,d; printf(" 請輸入四個數(shù) :"); scanf("%d,%d,%d,%d",&a,&b,&c,&d); printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d); if (a>b) { t=a;a=b;b=t;} if (a>c) { t=a;a=c;c=

37、t;} if (a>d) { t=a;a=d;d=t;} if (b>c) { t=b;b=c;c=t;} if (b>d) { t=b;b=d;d=t;} if (c>d) { t=c;c=d;d=t;} printf(" 排序結果如下 : \n"); printf("%d %d %d %d \n" ,a,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,d

38、2,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 (d1>1 && d2>1 && d3>1 && d4>1) h=0; /* 判斷該點是否在塔外 */ printf(" 該點高度為 %d\

39、n",h); return 0; } 第 5 章循環(huán)結構程序設計 114 5.1 為什么需要循環(huán)控制 114 5.2 用 while 語句實現(xiàn)循環(huán) 115 5.3 用do…while語句實現(xiàn)循環(huán)117 5.4 用 for 語句實現(xiàn)循環(huán) 120 5.5 循環(huán)的嵌套 124 5.6 幾種循環(huán)的比較 125 5.7 改變循環(huán)執(zhí)行的狀態(tài) 125 5.7.1 用 break 語句提前終止循環(huán) 126 5.7.2 用 continue 語句提前結束本次循環(huán) 127 5.7.3 break 語句和 continue 語句的區(qū)別 128 5.8 循環(huán)程序舉例 131 習題 140

40、 5-2 #include #include //程序中用到數(shù)學函數(shù) fabs,應包含頭文件 math.n int main() int sign=1,count=0; // sign 用來表示數(shù)值的符號 ,count 用來統(tǒng)計循環(huán)次數(shù) double pi=0.0,n=1.0,term=1.0; term 代表當前項的值 // pi開始代表多項式的值,最后代表兀的值,n代表分母, while(fabs(term)>=1e -8) 次方 // 檢查當前項 term 的絕對值是否大于或等于 10 的 (-6) pi=pi+term;

41、 // 把當前項 term 累加到 pi 中 n=n+2; // n+2 是下一項的分母 sign=-sign; // sign 代表符號,下一項的符號與上一項符號相反 term=sign/n; // 求出下一項的值 term count++; // count 累加 1 pi=

42、pi*4; //多項式的和pi乘以4,才是兀的近似值 //輸出兀的近似值 // 輸出循環(huán)次數(shù) printf("pi=%10.8f\n",pi); printf("count=%d\n",count); return 0; 5-3 #include int main() { int p,r,n,m,temp; printf(" 請輸入兩個正整數(shù) n,m:"); scanf("%d,%d,",&n,&m); if (n

43、r=n%m; n=m; m=r; } printf(" 它們的最大公約數(shù)為 :%d\n",n); printf(" 它們的最小公約數(shù)為 :%d\n",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 && c<=z || c>=A && c<=Z) letters++; else if (c

44、== ) space++; else if (c>=0 && c<=9) digit++; else other++; } printf(" 字母數(shù) :%d\n 空格數(shù) :%d\n 數(shù)字數(shù) :%d\n 其它字符數(shù) :%d\n",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; /*賦值后

45、的tn為i個a組成數(shù)的值*/ sn=sn+tn; /* 賦值后的 sn 為多項式前 i 項之和 */ a=a*10; ++i; } printf("a+aa+aaa+...=%d\n",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-7 #include int

46、 main() { int n1=100,n2=50,n3=10; double k,s1=0,s2=0,s3=0; for (k=1;k<=n1;k++) /* 計算 1 至U 100 的和*/ {s1=s1+k;} for (k=1;k<=n2;k++) /* 計算 1 到 50 各數(shù)的平方和 */ {s2=s2+k*k;} for (k=1;k<=n3;k++) /* 計算 1 到 10 的各倒數(shù)和 */ {s3=s3+1/k;} printf("sum=%15.6f\n",s1+s2+s3); return 0; } 5-8 #include

47、o.h> int main() { int i,j,k,n; printf("parcissus numbers are "); for (n=100;n<1000;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() { int k1,k2,k

48、3,k4,k5,k6,k7,k8,k9,k10; int i,a,n,s; for (a=2;a<=M;a++) /* a 是 2-1000 之間的整數(shù),檢查它是否完數(shù) */ {n=0; /* n 用來累計 a 的因子的個數(shù) */ s=a; /* s 用來存放尚未求出的因子之和,開始時等于 a */ for (i=1;i

49、 */ switch(n) /*將找到的因子賦給 k1...k9,或k10 */ {case 1: k1=i; break; /* 找出的笫 1 個因子賦給 k1 */ case 2: k2=i; break; /* 找出的笫 2 個因子賦給 k2 */ case 3: k3=i; break; /* 找出的笫 3 個因子賦給 k3 */ case 4: k4=i; break; /* 找出的笫 4個因子賦給 k4 */ case 5: k5=i; break; /* 找出的笫 5個因子賦給 k5 */ case 6: k6=i; brea

50、k; /* 找出的笫 6 個因子賦給 k6 */ case 7: k7=i; break; /* 找出的笫 7個因子賦給 k7 */ case 8: k8=i; break; /* 找出的笫 8 個因子賦給 k8 */ case 9: k9=i; break; /* 找出的笫 9 個因子賦給 k9 */ case 10: k10=i; break; /* 找出的笫 10 個因子賦給 k10 */ } } if (s==0) { printf("%d ,Its factors are ",a); /* n>1 表示 a 至少有 2 個因子 */ /* n>2 表示至

51、少有 3 個因子, 故應再輸出一個 /* n>3 表示至少有 4 個因子, 故應再輸出一個 /* 以下類似 */ 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) printf(",%d",k6); if (n>6) printf(",%d",k7); if (n>7) printf(",%d",k8); if (n>8) printf(",%d",k9);

52、 if (n>9) printf(",%d",k10); printf("\n"); } } return 0; } 5-9-2 #include int main() {int m,s,i; for (m=2;m<1000;m++) {s=0; for (i=1;i

53、 return 0; } 5-10 #include int main() { int i,n=20; double a=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.10f\n",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*

54、hn; /* 第 n 次落地時共經(jīng)過的米數(shù) */ hn=hn/2; /* 第 n 次反跳高度 */ } printf("第10次落地時共經(jīng)過 %米坨"刈); printf("第10次反彈%f米坨"加); return 0; } 5-12 #include int main() { int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2; /*第 1 天的桃子數(shù)是第 2 天桃子數(shù)加 1 后的 2 倍 .*/ x2=x1; day--; } printf("total=%d\n",x1);

55、 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; do {x0=x1; x1=(x0+a/x0)/2; }while(fabs(x0 -x1)>=1e -5); printf("The square root of %5.2f is %8.5f\n",a,x1); return 0; } 5

56、-14 #include #include int main() {double x1,x0,f,f1; x1=1.5; do {x0=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.2f\n",x1); return 0; } 5-15 #include #include int ma

57、in() {float x0,x1,x2,fx0,fx1,fx2; do {printf("enter x1 & x2:"); scanf("%f,%f",&x1,&x2); fx1=x1*((2*x1 -4)*x1+3) -6; fx2=x2*((2*x2 -4)*x2+3) -6; }while(fx1*fx2>0); do {x0=(x1+x2)/2; fx0=x0*((2*x0 -4)*x0+3) -6; if ((fx0*fx1)<0) {x2=x0; fx2=fx0; } else {x1=x0; fx1=fx0; } }while(fabs

58、(fx0)>=1e -5); printf("x=%6.2f\n",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"); } for (i=0;i<=2;i++) {for (j=0;j<=i;j++) printf(" "); for (k=0;k<=4 -2*i;k++) pr

59、intf("*"); 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 --%c\nB --%c\nC--%c\n",i,j,k); return 0; 第 6 章利用數(shù)

60、組處理批量數(shù)據(jù) 142 6.1 怎樣定義和引用一維數(shù)組 142 6.1.1 怎樣定義一維數(shù)組 143 6.1.2 怎樣引用一維數(shù)組元素 144 6.1.3 一維數(shù)組的初始化 145 6.1.4 一維數(shù)組程序舉例 146 6.2 怎樣定義和引用二維數(shù)組 148 6.2.1 怎樣定義二維數(shù)組 149 6.2.2 怎樣引用二維數(shù)組的元素 150 6.2.3 二維數(shù)組的初始化 151 6.2.4 二維數(shù)組程序舉例 152 6.3 字符數(shù)組 154 6.3.1 怎樣定義字符數(shù)組 154 6.3.2 字符數(shù)組的初始化 155 6.3.3 怎樣引用字符數(shù)組中的元素 155 6.

61、3.4 字符串和字符串結束標志 156 6.3.5 字符數(shù)組的輸入輸出 159 6.3.6 使用字符串處理函數(shù) 161 6.3.7 字符數(shù)組應用舉例 165 習題 168 6-1 #include #include int main() {int i,j,n,a[101]; for (i=1;i<=100;i++) a[i]=i; a[1]=0; for (i=2;i

62、 a[j]=0; ) printf("\n"); for (i=2,n=0;i<=100;i++) { if(a[i]!=0) {printf("%5d",a[i]); n++; ) if(n==10) {printf("\n"); n=0; ) ) printf("\n"); return 0; ) 6-2 #include } int main() {int i,j,min,temp,a[11]; printf("enter data:\n"); for (i=1;i<=10;i++) {printf("a[%d]="

63、,i); scanf("%d",&a[i]); } printf("\n"); printf("The orginal numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for (i=1;i<=9;i++) {min=i; for (j=i+1;j<=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf("\nThe sorted numbers:\n"); for (i=1

64、;i<=10;i++) printf("%5d",a[i]); printf("\n"); 6-3 #include int main() { int a[3][3],sum=0; int i,j; printf("enter data:\n"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%3d",&a[i][j]); for (i=0;i<3;i++) sum=sum+a[i][i]; printf("sum=%6d\n",sum); return 0; } 6-4 #include

65、 int main() { int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j; printf("array a:\n"); for (i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); printf("insert data:"); scanf("%d",&number); end=a[9]; if (number>end) a[10]=number; else {for (i=0;i<10;i++) {if (

66、a[i]>number) {temp1=a[i]; a[i]=number; for (j=i+1;j<11;j++) {temp2=a[j]; a[j]=temp1; temp1=temp2; } break; } } } printf("Now array a:\n"); for (i=0;i<11;i++) printf("%5d",a[i]); printf("\n"); 6-5 #include #define N 5 int main() { int a[N],i,temp; printf("enter array a:\n"); for (i=0;i

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

相關資源

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

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

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


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