C語(yǔ)言作業(yè)答案_第1頁(yè)
C語(yǔ)言作業(yè)答案_第2頁(yè)
C語(yǔ)言作業(yè)答案_第3頁(yè)
C語(yǔ)言作業(yè)答案_第4頁(yè)
C語(yǔ)言作業(yè)答案_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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;方法二:#include int main()int max(int x,int y); int a,b,c,d; printf(please input a,b,c:n); scanf(%d,%d,%d,&a,&b,&

2、c); d=max(max(a,b),c); printf(The largest number is %dn,d); return 0;int max(int x,int y) return (xy)?x:y;第三章第3題#include #include int main()float d=,p=6000,r=0.01,m; m=log10(p/(p-d*r)/log10(1+r); printf(m=%6.2fn,m); return 0;第4題#include int main()char c1,c2; c1=97; c2=98; printf(c1=%c,c2=%cn,c1,c2);

3、 printf(c1=%d,c2=%dn,c1,c2); return 0;(1) 運(yùn)行時(shí)會(huì)輸出什么信息?為什么?解:運(yùn)行時(shí)輸出: 第1行是將c1,c2按%c的格式輸出,97是字符a的ASCII代碼,98是字符b的ASCII代碼。第2行是將c1,c2按%d的格式輸出,所以輸出兩個(gè)十進(jìn)制整數(shù)。(2) 如果將程序第4,5行改為:C1=197;C2=198;運(yùn)行時(shí)會(huì)輸出什么信息?為什么?解:由于Visual C+6.0字符型數(shù)據(jù)是作為signed char 類(lèi)型處理的,它存字符的有效范圍為0127,超過(guò)此范圍的處理方法,不同的系統(tǒng)得到的結(jié)果不同,因而用“%c”格式輸出時(shí),結(jié)果是不可預(yù)料的。(3) 如

4、果將程序第3行改為; int c1,c2;運(yùn)行時(shí)會(huì)輸出什么信息?為什么?解:如果給c1和c2賦的值是97和平利用8,則輸出結(jié)果與(1)相同。如果給c1和c2賦的值是197和198,則用%c輸出時(shí),是不可預(yù)料的字符。用%d輸出時(shí),輸出整數(shù)197和198,因?yàn)樗鼈冊(cè)趇nt類(lèi)型的有效范圍內(nèi)。第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

5、n,a,b,x,y,c1,c2); return 0; 輸入方法1:a=3 b=7 8.5 71.82 Aa回車(chē)即可 輸入方法2: a=3 b=7; 8.5 71.82Aa 輸入方法3: a=3 b=7 8.5 71.82Aa第7題方法一#include int main ()float h,r,l,s,sq,vq,vz; float pi=3.; printf(請(qǐng)輸入圓半徑r,圓柱高h(yuǎn)); scanf(%f,%f,&r,&h); /要求輸入圓半徑r和圓柱高h(yuǎn) l=2*pi*r; /計(jì)算圓周長(zhǎng)l s=r*r*pi; /計(jì)算圓面積s sq=4*pi*r*r; /計(jì)算圓球表面積sq vq=3.0/

6、4.0*pi*r*r*r; /計(jì)算圓球體積vq vz=pi*r*r*h; /計(jì)算圓柱體積vz printf(圓周長(zhǎng)為: l=%6.2fn,l); printf(圓面積為: s=%6.2fn,s); printf(圓球表面積為: sq=%6.2fn,sq); printf(圓球體積為: v=%6.2fn,vq); printf(圓柱體積為: vz=%6.2fn,vz); return 0; 方法二:#define pi 3.#include#include int main ()float h,r,l,s,sq,vq,vz; printf(請(qǐng)輸入圓半徑r,圓柱高h(yuǎn)); scanf(%f,%f,&

7、r,&h); /要求輸入圓半徑r和圓柱高h(yuǎn) l=2*pi*r; /計(jì)算圓周長(zhǎng)l s=r*r*pi; /計(jì)算圓面積s sq=4*pi*pow(r,2); /計(jì)算圓球表面積sq vq=3.0/4.0*pi*pow(r,3); /計(jì)算圓球體積vq vz=pi*pow(r,2)*h; /計(jì)算圓柱體積vz printf(圓周長(zhǎng)為: l=%6.2fn,l); printf(圓面積為: s=%6.2fn,s); printf(圓球表面積為: sq=%6.2fn,sq); printf(圓球體積為: v=%6.2fn,vq); printf(圓柱體積為: vz=%6.2fn,vz); return 0; 第4

8、章第4題方法一#include int main() int a,b,c; printf(請(qǐng)輸入三個(gè)整數(shù):); scanf(%d,%d,%d,&a,&b,&c); if (ab) if (bc) printf(max=%dn,c); else printf(max=%dn,b); else if (ac) printf(max=%dn,c); else printf(max=%dn,a); return 0;方法二:#include int main() int a,b,c,temp,max; printf(請(qǐng)輸入三個(gè)整數(shù):); scanf(%d,%d,%d,&a,&b,&c); temp=(

9、ab)?a:b; /*將a和b中的大者存入temp中*/ max=(tempc)?temp:c; /*將a和b中的大者與c比較,取最大者*/ printf(三個(gè)整數(shù)的最大數(shù)是%dn,max); return 0;第6題#include int main() int x,y; printf(輸入x:); scanf(%d,&x); if(x1) y=x; /* x1 */ else if(x10) y=2*x-1; /* 1=x=10 */printf(x=%d,y=%dn,x,y);return 0;第8題方法一:#include int main() float score; char gr

10、ade; printf(請(qǐng)輸入學(xué)生成績(jī):); scanf(%f,&score); while (score100|score0)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;case 6: grade=D;break;default: grade=E; printf(成績(jī)是 %5.1f,相應(yīng)的等級(jí)是%cn ,score,grade);return 0;方法二:#include

11、int main() float score; char grade; printf(請(qǐng)輸入學(xué)生成績(jī):); scanf(%f,&score); if(score100|score0)printf(n 輸入有誤,請(qǐng)重輸n); else 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; default: grade=E; printf(成績(jī)是 %5.1f,相應(yīng)的等級(jí)是%cn ,score,grade);r

12、eturn 0;第9題#include #include int main()int num,indiv,ten,hundred,thousand,ten_thousand,place; printf(請(qǐng)輸入一個(gè)整數(shù)(0-99999):); scanf(%d,&num); while(num=|num9999) place=5; else if (num999) place=4; else if (num99) place=3; else if (num9) place=2; else place=1; printf(位數(shù):%dn,place); printf(每位數(shù)字為:); ten_tho

13、usand=num/10000; thousand=num%10000/1000; hundred=num%1000/100; ten=num%100/10; indiv=num%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%dn,indiv,ten,hundred,thousand,ten_thousand);break;case 4:printf(%d,%d,%d,%d,thousand,hund

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

15、序數(shù)字為:); printf(%dn,indiv); return 0; 第11題#include int main() int t,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 (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(排序結(jié)果

16、如下: n); printf(%d %d %d %d n,a,b,c,d); return 0; 第五章第3題方法一:#include int main() int p,x,y,n,m,temp; printf(請(qǐng)輸入兩個(gè)正整數(shù)n,m:); scanf(%d,%d,&n,&m); if (nn)?n:m;k=1;k-)if(m%k=0&n%k=0) break;printf(它們的最大公約數(shù)為:%dn,k);printf(它們的最小公倍數(shù)為:%dn,m*n/k);return 0; 方法三:#includestdio.hint main()int m,n,k,x;scanf(%d,%d,&m,

17、&n);for(k=1;kn)?n:m);k+)if(m%k=0&n%k=0) x=k;printf(它們的最大公約數(shù)為:%dn,x);printf(它們的最小公倍數(shù)為:%dn,m*n/x);return 0; 第4題#include 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=A & c=0 & c=9) digit+; else other+; printf(%dt%dt%dt%dn,letters,space,d

18、igit,other); return 0; 第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個(gè) a組成數(shù)的值*/ sn=sn+tn; /*賦值后的sn為多項(xiàng)式前i項(xiàng)之和*/ a=a*10; +i; printf(a+aa+aaa+.=%dn,sn); return 0; 第8題#include int main() int i,j,k,n; printf(水仙花數(shù)是:); for (n=100;n1000;n+) i=

19、n/100; j=n/10-i*10; k=n%10; if (n=i*i*i + j*j*j + k*k*k) printf(%dt,n); printf(n); return 0; 第12題方法一:#include int main() int day,x=1; for(day=9;day0;day-) x=(x+1)*2; printf(total=%dn,x); return 0; 方法二:#include int main() int day,x1,x2; day=9;x1=1; while(day0) x2=(x1+1)*2; x1=x2; day-; printf(total=%

20、dn,x1); return 0; 第六章第2題#include int main()int i,j,min,temp,a10; printf(enter data:n); for (i=0;i=9;i+) printf(a%d=,i); scanf(%d,&ai); printf(n); printf(The orginal numbers:n); for (i=0;i=9;i+) printf(%5d,ai); printf(n); for (i=0;i=8;i+) min=i; for (j=i+1;jaj) min=j; temp=ai; ai=amin; amin=temp; pri

21、ntf(nThe sorted numbers:n); for (i=0;i=9;i+) printf(%5d,ai); printf(n); return 0; 第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;第4題#include int main() int a11=1,4,6,9,13,

22、16,19,28,40,100; int temp1,temp2,number,end,i,j; printf(array a:n); for (i=0;iend) a10=number; else for (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; 第5題#include #define N 5int

23、main() int aN,i,temp; printf(enter array a:n); for (i=0;iN;i+) scanf(%d,&ai); printf(array a:n); for (i=0;iN;i+) printf(%4d,ai); for (i=0;iN/2;i+) /循環(huán)的作用是將對(duì)稱(chēng)的元素的值互換 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題#include int main() in

24、t i,j,a1010; for (i=0;i10;i+) aii=1; ai0=1; for (i=2;i10;i+) for (j=1;j=i-1;j+) aij=ai-1j-1+ai-1j; for (i=0;i10;i+) for (j=0;j=i;j+) printf(%6d,aij); printf(n); printf(n); return 0;第10題#include int main() int i,j,upp,low,dig,spa,oth; char text380; upp=low=dig=spa=oth=0; for (i=0;i3;i+) printf(please

25、 input line %d:n,i+1); gets(texti); for(i=0;i=A& textij=a & textij=0 & textij=9) dig+; else if (textij= ) spa+; else oth+; printf(nupper case: %dn,upp); printf(lower case: %dn,low); printf(digit : %dn,dig); printf(space : %dn,spa); printf(other : %dn,oth); return 0;第13題方法一:#include int main() char s

26、180,s240; int i=0,j=0; printf(input string1:); gets(s1); printf(input string2:); gets(s2); while (s1i!=0) i+; while(s2j!=0) s1i+=s2j+; s1i=0; printf(nThe new string is:%sn,s1); return 0; 方法二:#include int main() char s180,s240; int i=0,j=0; printf(input string1:); gets(s1); printf(input string2:); ge

27、ts(s2); while (s1i!=0) i+; while(s2j!=0) s1i+=s2j+; s1i=0; printf(nThe new string is:%sn,s1); return 0; 第15題#include #include int main() char s180,s280; int i; printf(input s2:); gets(s2); for (i=0;i=strlen(s2);i+) s1i=s2i; printf(s1:%sn,s1); return 0; 第七章第1題方法一:#include int main() int hcf(int,int);

28、 int lcd(int,int,int); int u,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); 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); 方法二:#include int Hcf,Lcd;int main()

29、void hcf(int,int); void lcd(int,int); int u,v; scanf(%d,%d,&u,&v); hcf(u,v); lcd(u,v); printf(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; for(r=v;r=1;r-) if(v%r=0&u%r=0) break; Hcf=r;void lcd(int u,int v) Lcd=u*v/Hcf; 第3題#include int main() int

30、 prime(int); int n; printf(input an integer:); scanf(%d,&n); if (prime(n) printf(%d is a prime.n,n); else printf(%d is not a prime.n,n); return 0; int prime(int n) int i; for (i=2;i=n-1;i+) if (n%i=0) return 0; return(1); 第4題方法一:#include #define N 3int arrayNN;int main() void convert(int array3);int

31、 i,j; printf(input array:n); for (i=0;iN;i+) for (j=0;jN;j+) scanf(%d,&arrayij); printf(noriginal array :n); for (i=0;iN;i+) for (j=0;jN;j+) printf(%5d,arrayij); printf(n); convert(array);printf(convert array:n); for (i=0;iN;i+) for (j=0;jN;j+) printf(%5d,arrayij); printf(n); return 0; void convert(

32、int array3)int i,j,t; for (i=0;iN;i+) for (j=i+1;jN;j+) t=arrayij; arrayij=arrayji; arrayji=t; 方法二:#include #define N 3int arrayNN;int main() void convert(int array3);int i,j; printf(input array:n); for (i=0;iN;i+) for (j=0;jN;j+) scanf(%d,&arrayij); printf(noriginal array :n); for (i=0;iN;i+) for (j=0;jN;j+) printf(%5d,arrayij); printf(n); convert(array);printf(convert array:n); for (i=0;iN;i+) for (j=0;jN;j+) printf(%5d,arrayij); printf(n); return 0;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論