程序設(shè)計(jì)課后習(xí)題答案共11章_第1頁(yè)
程序設(shè)計(jì)課后習(xí)題答案共11章_第2頁(yè)
程序設(shè)計(jì)課后習(xí)題答案共11章_第3頁(yè)
程序設(shè)計(jì)課后習(xí)題答案共11章_第4頁(yè)
程序設(shè)計(jì)課后習(xí)題答案共11章_第5頁(yè)
已閱讀5頁(yè),還剩107頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第 1 章程序設(shè)計(jì)和 C 語(yǔ)言 11.1 什么是計(jì)算機(jī)程序 11.2 什么是計(jì)算機(jī)語(yǔ)言 1 1.3C 語(yǔ)言的發(fā)展及其特點(diǎn) 31.4 最簡(jiǎn)單的 C 語(yǔ)言程序 51.4.1 最簡(jiǎn)單的 C 語(yǔ)言程序舉例 6 1.4.2C 語(yǔ)言程序的結(jié)構(gòu) 101.5 運(yùn)行 C 程序的步驟與方法 121.6 程序設(shè)計(jì)的任務(wù) 141-5 #include <stdio.h> int main ( )printf ("*nn");printf("VeryGood!nn");printf ("*n");return 0;1-6#include <s

2、tdio.h> 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<b) max=b;if (max<c) max=c;printf("The largest number is %dn",max); return 0;第 2 章算法程序的162.1 什么是算法 162.2 簡(jiǎn)單的算法舉例 172.3 算法的特性 212.4 怎樣表示一個(gè)算法 222.

3、4.1 用自然語(yǔ)言表示算法 222.4.2 用流程圖表示算法 222.4.3 三種基本結(jié)構(gòu)和改進(jìn)的流程圖 262.4.4 用 NS 流程圖表示算法 282.4.5 用偽代碼表示算法 312.4.6 用計(jì)算機(jī)語(yǔ)言表示算法 322.5 結(jié)構(gòu)化程序設(shè)計(jì)方法 34習(xí)題 36第章最簡(jiǎn)單的 C 程序設(shè)計(jì)順序程序設(shè)計(jì) 373.1 順序程序設(shè)計(jì)舉例 373.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算 393.2.1 常量和變量 393.2.2 數(shù)據(jù)類型 423.2.3 整型數(shù)據(jù) 443.2.4 字符型數(shù)據(jù) 473.2.5 浮點(diǎn)型數(shù)據(jù) 493.2.6 怎樣確定常量的類型 513.2.7 運(yùn)算符和表達(dá)式 52 3.3C 語(yǔ)句 5

4、73.3.1 C 語(yǔ)句的作用和分類 573.3.2 最基本的語(yǔ)句賦值語(yǔ)句 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ù) 753.4.5 字符數(shù)據(jù)的輸入輸出 78習(xí)題 823-1#include <stdio.h> #include <math.h>int main()float p,r,n; r=0.1; n=10;p=pow(1+r,n); printf("p=%fn",p); return 0;3-2-

5、1#include <stdio.h> #include <math.h> 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.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(&

6、quot;p2=%fn",p2); printf("p3=%fn",p3); printf("p4=%fn",p4); printf("p5=%fn",p5);return 0;/ 一次存 5 年期/ 先存 2 年期,到期后將本息再存 3 年期/ 先存 3 年期,到期后將本息再存 2 年期/ 存 1 年期,到期后將本息存再存 1 年期,連續(xù)存 5 次/ 存活期存款?;钇诶⒚恳患径冉Y(jié)算一次輸出按第 1 方案得到的本息和輸出按第 2 方案得到的本息和輸出按第 3 方案得到的本息和輸出按第 4 方案得到的本息和輸出按第 5 方案

7、得到的本息和/3-2-2#include <stdio.h> #include <math.h> 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;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",

8、p1); printf("p2=%fn",p2); printf("p3=%fn",p3); printf("p4=%fn",p4); printf("p5=%fn",p5);return 0;/ 一次存 5 年期/ 先存 2 年期,到期后將本息再存 3 年期/ 先存 3 年期,到期后將本息再存 2 年期/ 存 1 年期,到期后將本息存再存 1 年期,連續(xù)存 5 次/ 存活期存款。活期利息每一季度結(jié)算一次輸出按第 1 方案得到的本息和輸出按第 2 方案得到的本息和輸出按第 3 方案得到的本息和輸出按第 4 方案得到

9、的本息和輸出按第 5 方案得到的本息和/3-2-3#include <stdio.h> #include <math.h> 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.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("p

10、1=%10.2fn",p1); printf("p2=%10.2fn",p2); printf("p3=%10.2fn",p3); printf("p4=%10.2fn",p4); printf("p5=%10.2fn",p5);return 0;/ 一次存 5 年期/ 先存 2 年期,到期后將本息再存 3 年期/ 先存 3 年期,到期后將本息再存 2 年期/ 存 1 年期,到期后將本息存再存 1 年期,連續(xù)存 5 次/ 存活期存款。活期利息每一季度結(jié)算一次/輸出按第 1 方案得到的本息和輸出按第 2 方

11、案得到的本息和輸出按第 3 方案得到的本息和輸出按第 4 方案得到的本息和輸出按第 5 方案得到的本息和3-3.#include <stdio.h> #include <math.h> int main()float d=300000,p=6000,r=0.01,m;m=log10(p/(p-d*r)/log10(1+r); printf("m=%6.2fn",m);return 0;3-4#include <stdio.h> int main()int c1,c2;c1=197; c2=198;printf("c1=%c,c2

12、=%cn",c1,c2); printf("c1=%d,c2=%dn",c1,c2);return 0;3-5#include <stdio.h> 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,c

13、2=%cn",a,b,x,y,c1,c2); return 0;3-6#include <stdio.h> int main()char c1='C',c2='h',c3='i',c4='n',c5='a' c1=c1+4;c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4;printf("passwor is %c%c%c%c%cn",c1,c2,c3,c4,c5); return 0;3-7#include <stdio.h> int ma

14、in ()float h,r,l,s,sq,vq,vz; float pi=3.141526;printf("請(qǐng)輸入圓半徑 r,圓柱高 h"); scanf("%f,%f",&r,&h);l=2*pi*r;/要求輸入圓半徑 r 和圓柱高 h/計(jì)算圓周長(zhǎng) ls=r*r*pi; sq=4*pi*r*r; vq=3.0/4.0*pi*r*r*r; vz=pi*r*r*h; printf("圓周長(zhǎng)為: printf("圓面積為:printf("圓球表面積為:printf("圓球體積為: printf(&qu

15、ot;圓柱體積為: return 0;/計(jì)算圓面積 s/計(jì)算圓球表面積 sq/計(jì)算圓球體積 vq/計(jì)算圓柱體積 vzl=%6.2fn",l);s=%6.2fn",s);sq=%6.2fn",sq);v=%6.2fn",vq);vz=%6.2fn",vz);3-8-1#include <stdio.h> int main()int c1,c2;printf("請(qǐng)輸入兩個(gè)整數(shù) c1,c2:"); scanf("%d,%d",&c1,&c2); printf("按字符輸出結(jié)

16、果:n"); printf("%c,%cn",c1,c2);printf("按 ASCII 碼輸出結(jié)果為:n"); printf("%d,%dn",c1,c2);return 0;/整型定義3-8-2#include <stdio.h> int main()char c1,c2; int i1,i2;printf("請(qǐng)輸入兩個(gè)字符 c1,c2:"); scanf("%c,%c",&c1,&c2);i1=c1; i2=c2;printf("按字符輸出

17、結(jié)果:n"); printf("%c,%cn",i1,i2); printf("按整數(shù)輸出結(jié)果:n"); printf("%d,%dn",c1,c2); return 0;3-8-3/定義字符型變量/定義整型變量/賦值給整型變量#include <stdio.h> int main()char c1,c2; int i1,i2;printf("請(qǐng)輸入兩個(gè)整數(shù) i1,i2:"); scanf("%d,%d",&i1,&i2);c1=i1; c2=i2;prin

18、tf("按字符輸出結(jié)果:n"); printf("%c,%cn",c1,c2); printf("按整數(shù)輸出結(jié)果:n"); printf("%d,%dn",c1,c2); return 0;/定義為字符型/定義為整型/將整數(shù)賦值給字符變量3-8#include <stdio.h> int main()char c1,c2;printf("請(qǐng)輸入兩個(gè)字符 c1,c2:"); c1=getchar();c2=getchar();printf("用 putchar 語(yǔ)句輸出結(jié)果為

19、:"); putchar(c1);putchar(c2); printf("n");printf("用 printf 語(yǔ)句輸出結(jié)果為:"); printf("%c %cn",c1,c2);return 0;第 4 章選擇結(jié)構(gòu)程序設(shè)計(jì) 854.1 選擇結(jié)構(gòu)和條件854.2 用 if 語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu) 874.2.1 用 if 語(yǔ)句處理選擇結(jié)構(gòu)舉例 87 4.2.2if 語(yǔ)句的一般形式 894.3 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 914.3.1 關(guān)系運(yùn)算符及其優(yōu)先次序 914.3.2 關(guān)系表達(dá)式 924.4 邏輯運(yùn)算符和邏輯表達(dá)式 92

20、4.4.1 邏輯運(yùn)算符及其優(yōu)先次序 934.4.2 邏輯表達(dá)式 944.4.3 邏輯型變量 964.5 條件運(yùn)算符和條件表達(dá)式 974.6 選擇結(jié)構(gòu)的嵌套 994.7 用 switch 語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu) 1024.8 選擇結(jié)構(gòu)程序綜合舉例 105習(xí)題 1114-4-1#include <stdio.h> int main()int a,b,c;printf("請(qǐng)輸入三個(gè)整數(shù):"); scanf("%d,%d,%d",&a,&b,&c); if (a<b)if (b<c)printf("max

21、=%dn",c); elseprintf("max=%dn",b); else if (a<c)printf("max=%dn",c); elseprintf("max=%dn",a); return 0;4-4-2#include <stdio.h> int main() int a,b,c,temp,max;printf("請(qǐng)輸入三個(gè)整數(shù):"); scanf("%d,%d,%d",&a,&b,&c); temp=(a>b)?a:b;

22、max=(temp>c)?temp:c;/*將 a 和b 中的大者存入 temp 中*/*將a 和b 中的大者與 c 比較,取最大者*/printf("三個(gè)整數(shù)的最大數(shù)是%dn",max);return 0;4-5-2#include <stdio.h> #include <math.h> #define M 1000 int main()int i,k;printf("請(qǐng)輸入一個(gè)小于%d 的整數(shù)i:",M); scanf("%d",&i);while (i>M)printf("輸

23、入的數(shù)不符合要求,請(qǐng)重新輸入一個(gè)小于%d 的整數(shù) i:",M); scanf("%d",&i);k=sqrt(i);printf("%d 的平方根的整數(shù)部分是:%dn",i,k); return 0;4-5#include <stdio.h> #include <math.h> #define M 1000 int main()int i,k;printf("請(qǐng)輸入一個(gè)小于%d 的整數(shù)i:",M); scanf("%d",&i);if (i>M)printf(

24、"輸入的數(shù)不符合要求,請(qǐng)重新輸入一個(gè)小于%d 的整數(shù) i:",M); scanf("%d",&i);k=sqrt(i);printf("%d 的平方根的整數(shù)部分是:%dn",i,k); return 0;4-6.#include <stdio.h> int main() int x,y;printf("輸入 x:");scanf("%d",&x); if(x<1) y=x;printf("x=%3d,elseif(x<10)/* x<1 *

25、/y=x=%dn" ,x,y);/* 1=<x<10 */ y=2*x-1; printf("x=%d,else y=3*x-11; printf("x=%d,return 0;y=2*x-1=%dn",x,y);/* x>=10*/y=3*x-11=%dn",x,y);4-7-1#include <stdio.h> int main()int x,y; printf("enter x:");scanf("%d",&x); y=-1;if(x!=0)if(x>0

26、)y=1;elsey=0;printf("x=%d,y=%dn",x,y); return 0;4-7-2#include <stdio.h> int main()int x,y;printf("please enter x:"); scanf("%d",&x);y=0;if(x>=0) if(x>0) y=1;elsey=-1; printf("x=%d,y=%dn",x,y); return 0;4-8#include <stdio.h> int main() flo

27、at score; char grade;printf("請(qǐng)輸入學(xué)生成績(jī):");scanf("%f",&score);while (score>100|score<0)printf("n 輸入有誤,請(qǐng)重輸");scanf("%f",&score);switch(int)(score/10)case 10:case 9: grade='A'break;case 8: grade='B'break;case 7: grade='C'break;

28、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í)是%cn ",score,grade); return 0;4-9#include <stdio.h> #include <math.h> int main()int num,indiv,ten,hundred,thousand,ten_thousand,place;位,萬(wàn)位和位數(shù)printf("請(qǐng)輸入一個(gè)整數(shù)(0-

29、99999):"); scanf("%d",&num);if (num>9999)place=5;elseif (num>999) place=4;elseif (num>99)/分別代表個(gè)位,十位,百位,千place=3; elseif (num>9)place=2; else place=1;printf("位數(shù):%dn",place); printf("每位數(shù)字為:"); ten_thousand=num/10000;thousand=(int)(num-ten_thousand*100

30、00)/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*1000-hundred*100-ten*10); switch(place)case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv); prin

31、tf("n 反序數(shù)字為:"); 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 反序數(shù)字為:"); printf("%d%d%d%dn",indiv,ten,hundred,thousand); break;case 3:printf("%d,%d,%d"

32、,hundred,ten,indiv); printf("n 反序數(shù)字為:"); printf("%d%d%dn",indiv,ten,hundred); break;case 2:printf("%d,%d",ten,indiv); printf("n 反序數(shù)字為:"); printf("%d%dn",indiv,ten); break;case 1:printf("%d",indiv); printf("n 反序數(shù)字為:"); printf("

33、;%dn",indiv); break;return 0;4-10-1#include <stdio.h> int main()int i;double bonus,bon1,bon2,bon4,bon6,bon10; bon1=100000*0.1;bon2=bon1 bon4=bon2 bon6=bon4bon10=bon6*0.075;*0.05;*0.03;*0.015;printf("請(qǐng)輸入利潤(rùn) i:");scanf("%d",&i); if (i<=100000)bonus=i*0.1; else if (

34、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; elsebonus=bon10+(i-1000000)*0.01;printf("獎(jiǎng)金是: %10.2fn",bonus); return 0;4-10-2#include <stdio

35、.h> int main()int i;doublebonus,bon1,bon2,bon4,bon6,bon10; intbranch;bon1=100000*0.1;bon2=bon1 bon4=bon2 bon6=bon4bon10=bon6*0.075;*0.05;*0.03;*0.015;printf("請(qǐng)輸入利潤(rùn) i:");scanf("%d",&i); branch=i/100000;if (branch>10)branch=10; switch(branch)case 0:bonus=i*0.1;break;case

36、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;break;case 10: bonus=bon10+(i-1000000)*0.01;printf("獎(jiǎng)金是 %10.2fn",bonus);return 0;4-11#include <st

37、dio.h> int main()intt,a,b,c,d;printf("請(qǐng)輸入四個(gè)數(shù):"); scanf("%d,%d,%d,%d",&a,&b,&c,&d); printf("a=%d,b=%d,c=%d,d=%dn",a,b,c,d); if (a>b) t=a;a=b;b=t; if (a>c) t=a;a=c;c=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

38、(c>d) t=c;c=d;d=t;printf("排序結(jié)果如下: n");printf("%d%d%d%dreturn 0;n",a,b,c,d);4-12#include <stdio.h> int main()inth=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("請(qǐng)輸入一個(gè)點(diǎn)(x,y):");scanf("%f,%f",&x,&y);d1=(x-x4)*(x-x4)+

39、(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) printf("該點(diǎn)高度為 %dn",h);return 0;/*求該點(diǎn)到各中心點(diǎn)距離*/h=0;/*該點(diǎn)是否在塔外*/第 5 章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 1145.1 為什么需要循環(huán)1145.2 用 while 語(yǔ)句實(shí)現(xiàn)循環(huán) 115

40、5.3 用dowhile 語(yǔ)句實(shí)現(xiàn)循環(huán) 1175.4 用 for 語(yǔ)句實(shí)現(xiàn)循環(huán) 1205.5 循環(huán)的嵌套 1245.6 幾種循環(huán)的比較 1255.7 改變循環(huán)執(zhí)行的狀態(tài) 1255.7.1 用 break 語(yǔ)句提前終止循環(huán) 1265.7.2 用 continue 語(yǔ)句提前結(jié)束本次循環(huán) 127 5.7.3break 語(yǔ)句和 continue 語(yǔ)句的區(qū)別 1285.8 循環(huán)程序舉例 131習(xí)題 1405-2#include <stdio.h>#include <math.h> int main()int sign=1,count=0;double pi=0.0,n=1.0,t

41、erm=1.0; term 代表當(dāng)前項(xià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);/ 程序中用到數(shù)學(xué)函數(shù) fabs,應(yīng)包含頭文件 math.n/ sign 用來(lái)表示數(shù)值的符號(hào),count 用來(lái)統(tǒng)計(jì)循環(huán)次數(shù)/ pi 開(kāi)始代表多項(xiàng)式的值,最后代表的值, n 代表分母,/ 檢查當(dāng)前項(xiàng) term 的絕對(duì)值是否大于或等于 10 的

42、(-6)/ 把當(dāng)前項(xiàng)term 累加到 pi 中/ n+2 是下一項(xiàng)的分母/ sign 代表符號(hào),下一項(xiàng)的符號(hào)與上一項(xiàng)符號(hào)相反/ 求出下一項(xiàng)的值 term/ count 累加 1/ 多項(xiàng)式的和 pi 乘以 4,才是的近似值/ 輸出的近似值/ 輸出循環(huán)次數(shù)return 0;5-3#include <stdio.h> int main()intp,r,n,m,temp;printf("請(qǐng)輸入兩個(gè)正整數(shù) n,m:");scanf("%d,%d,",&n,&m); if (n<m)temp=n; n=m; m=temp;p=n*m

43、; while(m!=0)r=n%m; n=m; m=r;printf("它們的最大公約數(shù)為:%dn",n); printf("它們的最小公約數(shù)為:%dn",p/n); return 0;5-4#include <stdio.h> int main()char c;int letters=0,space=0,digit=0,other=0; printf("請(qǐng)輸入一行字符:n"); while(c=getchar()!='n')if (c>='a' && c<=&

44、#39;z' | c>='A' && c<='Z') letters+;else if (c=' ') space+;else if (c>='0' && c<='9') digit+;elseother+;printf("字母數(shù):%dn 空格數(shù):%dn 數(shù)字?jǐn)?shù):%dn 其它字符數(shù):%dn",letters,space,digit,other); return 0;5-5#include <stdio.h> int ma

45、in()inta,n,i=1,sn=0,tn=0; printf("a,n=:");scanf("%d,%d",&a,&n); while (i<=n)n+a; /*賦值后的 tn 為 i 個(gè) a 組成數(shù)的值*/ sn=sn+tn; /*賦值后的 sn 為多項(xiàng)式前 i 項(xiàng)之和*/ a=a*10;+i;printf("a+aa+aaa+.=%dn",sn); return 0;5-6#include <stdio.h> int main()double s=0,t=1; int n;for (n=1;n

46、<=20;n+)t=t*n; s=s+t; printf("1!+2!+.+20!=%22.15en",s);return 0;5-7#include <stdio.h> 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;for (k=1;k<=n3;k+)s3=s3+1/k;/*計(jì)算 1 到 100 的和*/*計(jì)算 1 到 50 各數(shù)的平方和*/*計(jì)算 1 到 10

47、的各倒數(shù)和*/printf("sum=%15.6fn",s1+s2+s3);return 0;5-8#include <stdio.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#def

48、ine M 1000 #include <stdio.h> int main()/*定義尋找范圍*/int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;int i,a,n,s;for (a=2;a<=M;a+)n=0;s=a;for (i=1;i<a;i+) if (a%i=0)/* a 是 2-1000 之間的整數(shù),檢查它是否完數(shù)/* n 用來(lái)累計(jì) a 的因子的個(gè)數(shù) */*/* s 用來(lái)存放尚未求出的因子之和,開(kāi)始時(shí)等于 a */* 檢查 i 是否 a 的因子 */* 如果i 是 a 的因子 */n+;s=s-i; switch(n)case 1:k

49、1=i; case 2:k2=i; case 3:k3=i; case 4:k4=i; case 5:k5=i; case 6:k6=i; case 7:k7=i; case 8:k8=i; case 9:k9=i; case 10:k10=i;if (s=0)/* n 加 1,表示新找到一個(gè)因子 */* s 減去已找到的因子,s 的新值是尚未求出的因子之和/* 將找到的因子賦給 k1.k9,或 k10 */*/break;/*找出的笫 1 個(gè)因子賦給 k1 */break;/*找出的笫 2 個(gè)因子賦給 k2 */break;/*找出的笫 3 個(gè)因子賦給 k3 */break;/*找出的笫 4

50、 個(gè)因子賦給 k4 */break;/*找出的笫 5 個(gè)因子賦給 k5 */break;/* 找出的笫 6 個(gè)因子賦給 k6 */break;/* 找出的笫 7 個(gè)因子賦給 k7 */break;/* 找出的笫 8 個(gè)因子賦給 k8 */break;/*找出的笫 9 個(gè)因子賦給 k9 */break;/* 找出的笫 10 個(gè)因子賦給 k10 */printf("%d ,Its factors are ",a);if (n>1) if (n>2)*/if (n>3)*/if (n>4) if (n>5) if (n>6) if (n>

51、7) if (n>8) if (n>9)printf("%d,%d",k1,k2);printf(",%d",k3);/* n>1 表示a 至少有 2 個(gè)因子*/* n>2 表示至少有 3 個(gè)因子,故應(yīng)再輸出一個(gè)因子printf(",%d",k4);/* n>3 表示至少有 4 個(gè)因子,故應(yīng)再輸出一個(gè)因子printf(",%d",k5);printf(",%d",k6);printf(",%d",k7);printf(",%d"

52、;,k8);printf(",%d",k9);printf(",%d",k10);/*以下類似 */printf("n");return 0;5-9-2#include <stdio.h> int main()int m,s,i;for (m=2;m<1000;m+)s=0;for (i=1;i<m;i+)if (m%i)=0) s=s+i; if(s=m)printf("%d,its factors are ",m); for (i=1;i<m;i+)if (m%i=0)printf

53、("%d ",i); printf("n");return 0;5-10#include <stdio.h> 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.10fn",s); return 0;5-11#include <stdio.h> int main()double sn=100,hn=sn/2; int n;for (n=2;n<=10;

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

55、quot;,x1);return 0;5-13#include <stdio.h> #include <math.h> 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 %5.2fis %8.5fn",a

56、,x1); return 0;5-14#include <stdio.h> #include <math.h> intmain()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 <stdio.h> #include <math

57、.h> int main()float x0,x1,x2,fx0,fx1,fx2; doprintf("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); dox0=(x1+x2)/2;fx0=x0*(2*x0-4)*x0+3)-6; if (fx0*fx1)<0)x2=x0;fx2=fx0;elsex1=x0;fx1=fx0;while(fabs (

58、fx0)>=1e-5); printf("x=%6.2fn",x0); return 0;5-16#include <stdio.h> 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(" "

59、);for (k=0;k<=4-2*i;k+) printf("*");printf("n");return 0;5-17#include <stdio.h> int main()char i,j,k;for (i='x'i<='z'i+)for (j='x'j<='z'j+) if (i!=j)/*是 a 的對(duì)手;j 是 b 的對(duì)手;k 是c 的對(duì)手*/for (k='x'k<='z'k+) if (i!=k &&

60、amp; j!=k)if (i!='x' && k!='x' && k!='z')printf("A-%cnB-%cnC-%cn",i,j,k); return 0;第 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

61、 二維數(shù)組的初始化 1516.2.4 二維數(shù)組程序舉例 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 <stdio.h> #include <math.h> int main()int i,j,n,a101;for (i=1;i<=100;i+) ai=i;a1=0;for (i=2

62、;i<sqrt(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 <stdio.h> int main()int i,j,min,temp,a11; printf("enter d

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論