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

下載本文檔

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

文檔簡介

1、1、編寫一個(gè)程序,輸入a b c三個(gè)值,輸出其中最大者。解:#includevoid main()int a,b,c,max;printf(請輸入三個(gè)數(shù)a,b,c:n); scanf(%d,%d,%d,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(最大數(shù)為:%d,max);2、輸入一個(gè)華氏溫度,要求輸出攝氏溫度,公式為C=5/9(F-32),輸出要有文字說明,取兩位小數(shù).解: #includevoid main()float c,f;printf(請輸入一個(gè)華氏溫度:n);scanf(%f,&f);c=(5.0/9.0)*(f-32);p

2、rintf(攝氏溫度為:%5.2fn,c);3、輸入四個(gè)整數(shù),按大小順序輸出.#includevoid main() int t,a,b,c,d; printf(請輸入四個(gè)數(shù):); scanf(%d,%d,%d,&a,&b,&c,&d); printf( a=%d,b=%d,c=%d,d=%d n,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; printf(n 排序結(jié)果如下: n);printf( %d %d %d %d

3、n,a,b,c,d);4、有三個(gè)整數(shù)a,b,c,由鍵盤輸入,輸出其中最大的數(shù).#includevoid main()int a,b,c,termp,max; printf( 請輸入 A,B,C: ); scanf(%d,%d,%d,&a,&b,&c); printf(A=%d,B=%d,C=%dn,a,b,c); temp=(ab)?a:b; max=(tempc)? temp:c; printf( A,B,C中最大數(shù)是%d,max);5、輸入兩個(gè)數(shù),求最小公倍數(shù).#includevoid main()int m,n,i;scanf(%d %d,&m,&n);for(i=m*n;i=1;i-)

4、if(i%m=0)&(i%n=0)break;printf(%d,i);6.輸入一行字符,分別統(tǒng)計(jì)出其中英文字母,空格,數(shù)字和其它字符的個(gè)數(shù).解:#include void main()char c;int letters=0,space=0,degit=0,other=0;printf(請輸入一行字符:n);while(c=getchar()!=n)if(c=a&cA&c=0&c=9)digit+;elseother+;printf(其中:字母數(shù)=%d 空格數(shù)=%d 數(shù)字?jǐn)?shù)=%d 其它字符數(shù)=%dn,letters,space,digit,other);7、水仙開花#include void

5、 main()int i,j,k,n;printf( 水仙花數(shù)是:n);for(n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;if(i*100+j*10+k=i*i*i+j*j*j+k*k*k)printf(%dn,n);8、判斷整數(shù)是否為素?cái)?shù)#include void main()int prime(int); int number; printf(請輸入一個(gè)正整數(shù):n); scanf(%d,&number); if(prime(number) printf(n %d 是素?cái)?shù).,number); else printf(n %d 不是素?cái)?shù),number)

6、;int prime(int number)int flag=1,n;for(n=2;nN) printf(超過長度,請重輸!); else flag=0;sort(str);printf(n 排序結(jié)果:);for(i=0;iN;i+) printf(%c,stri);sort(str)char strN;int i,j;char t;for(j=1;jN;j+) for(i=0;(istri+1) t=stri; stri=stri+1; stri+1=t; 10、/*判斷輸入年份是否為閏年*/#define LEAP_YEAR(y) (y%4=0) & (y%100!=0)|(y%400=

7、0)main() int year; printf(n請輸入某一年:); scanf(%d,&year); if(LEAP_YEAR(year) printf(%d 是閏年.n,year); else printf(%d 不是閏年.n,year); /*用函數(shù)方法,從三個(gè)數(shù)中找出最大值*/main() int a,b,c; printf(請輸入三個(gè)整數(shù):); scanf(%d,%d,%d,&a,&b,&c); printf(三個(gè)之中最大值為:%dn,max(a,b,c); max(x,y,z) int x,y,z; int t; t=(xy? x:y); return(tz? t:z); 11

8、、輸入四個(gè)整數(shù),按大小順序輸出.#includeVoid main() int t,a,b,c,d; printf(請輸入四個(gè)數(shù):); scanf(%d,%d,%d,%d,&a,&b,&c,&d); printf(nn a=%d,b=%d,c=%d,d=%d n,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 排序結(jié)果如下: n);printf( %d %d %d %d

9、 n,a,b,c,d);12、設(shè)圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周長,圓面積,圓球表面積,圓球體積,圓柱體積,用scanf輸入數(shù)據(jù),輸出計(jì)算結(jié)果,輸出時(shí)要求有文字說明,取小數(shù)點(diǎn)后兩位數(shù)字.請編程.解:main()float pi,h,r,l,s,sq,vq,vz;pi=3.;printf(請輸入圓半徑r圓柱高h(yuǎn):n);scanf(%f,%f,&r,&h);l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vq=4.0/3.0*pi*r*r*r;vz=pi*r*r*h;printf(圓周長為: =%6.2fn,l);printf(圓面積為: =%6.2fn,s);printf(圓球

10、表面積為: =%6.2fn,sq);printf(圓球體積為: =%6.2fn,vz);13、用篩選法求100之內(nèi)的素?cái)?shù)./*用篩選法求100之內(nèi)的素?cái)?shù)*/#include#define N 101main()int i,j,line,aN;for(i=2;iN;i+) ai=i;for(i=2;isqrl(N);i+)for(j=i+1;jN;j+) if(ai!=0 & aj!=0) if(aj%ai=0) aj=0;printf(n);for(i=2,line=0;iN;i+) if(ai!=0) printf(%5d,ai); line+; if(line=10) printf(n);

11、 line=0; 14、球反彈問題main()float sn=100.0,hn=sn/2;int n;for(n=2;n=10;n+)sn=sn+2*hn;/*第n次落地時(shí)共經(jīng)過的米數(shù)*/hn=hn/2;/*第n次反跳高度*/printf(第10次落地時(shí)共經(jīng)過%f米 n,sn);printf(第10次反彈%f米.n,hn);15、冒泡#includevoid main()int a10;int i,j,t;printf(input 10 numbers:n); for (i=0;i=9;i+)scanf(%d,&ai);printf(n); for (j=0;j=9;j+)for(i=0;i

12、ai+1)t=ai; ai=ai+1; ai+1=t;printf(the sorted numbers:n);for(i=0;i=9;i+)printf(%d ,ai);printf(n);16、對角線#includevoid main()float a33,sum=0;int i,j;printf(請輸入矩陣圖n);for(i=0;i=2;i+)for(j=0;j=2;j+)scanf(%f,&aij);printf(n);for(i=0;i=2;i+)for(j=0;j=2;j+)if(i+j=2|i=j)sum=sum+aij;printf(對角線之和=%f,sum);printf(n

13、);17、楊輝三角# define N 11#includevoid main()int i,j,aNN;for(i=1;iN;i+)aii=1;ai1=1;for(i=3;iN;i+)for(j=2;j=i-1;j+)aij=ai-1j+aij-1;for(i=1;iN;i+)for (j=1;j=i;j+)printf(%6d ,aij); printf(n); printf(n);18、0到100的最大的能被17整除的數(shù)# include void main()int n,i;for(n=1;n=100;n+)if(n%17=0)i=n;printf(%dn,i);19、1100的偶數(shù)之

14、和#includevoid main()int i,j,sum=0;for(i=0;i=100;i+)if(i%2=0)sum=sum+i;printf(%dn,sum);20、1*2*3+3*4*5+5*6*7+.+99*100*101的值。()?# includevoid main() int i,long term ,sum=0;for(i=2;i=100;i=i+2)term=(i-1)*i*(i+1);sum+=term;printf(sum=%dn,sum);21、已知銀行定期存款利率為r=2.25%,輸入存款本金x、存款年數(shù)n,輸出本利之和y=x(1+r)(1+r).(1+r),

15、共n個(gè)(1+r)。# includevoid main()double x,y,r=0.0225;int i,n;scanf(%lf,%d ,&x,&n);y=x;for(i=1;i=n;i+)y=y*(1+r);printf(%lfn,y);22、輸入一串字符,將其中的小寫字母變成對應(yīng)的大寫字母并輸出# includevoid main()char a10 ;int i;for(i=0;i10;i+)scanf(%c,&ai);for(i=0;i=a&ai=z)ai=ai-32;for(i=0;i10;i+)printf(%c,ai);23、編寫程序,將用戶輸入的字符串中所有的字符a用*代替

16、,然后輸出。 # includevoid main()char a10 ;int i;for(i=0;i10;i+)scanf(%c,&ai);for(i=0;i10;i+)if(ai=a)ai=*;for(i=0;i10;i+)printf(%c,ai);或char str10;int i;gets (str);for(i=0;i10;i+)if(stri=a)stri=*;for(i=0;i10;i+)printf(%c,stri);24、輸出Fibonacci數(shù)列的前40項(xiàng),要求按4列輸出。Fibonacci數(shù)列的特點(diǎn):前兩個(gè)數(shù)為1,從第三數(shù)開始,每個(gè)數(shù)都是它前面兩個(gè)數(shù)的和# inclu

17、devoid main()int a40=1,1; int i; for(i=2;i40;i+) ai=ai-1+ai-2; for(i=0;i40;i+) if(i%4=0) printf(n); printf(%12d,ai); 25、計(jì)算并輸出1200之間不能被7整除的整數(shù)的和#includevoid main()int i=100,sum=0;for(i=1;i=100;i+)if(i%7=0);else sum=sum+i;printf(%dn,sum);26、輸出200400之間能被3整除切個(gè)位數(shù)是7的整數(shù)。#includevoid main()int i;for(i=200;i=

18、400;i+)if(i%3=0)&(i-7)%10=0)printf(%dn,i);else;27、輸入圓的半徑,求圓的面積,并保留兩位小數(shù)、#include#includevoid main()float r,s;float pi=3.;printf(%.2f,s);scanf(%f,&r);s=r*r*pi;printf(%7.2f,s);28、求m=1+2*2+3*3+4*4+.+n*n#includevoid main()int f(int );int i,n,sum=0;scanf(%d,&n);for(i=0;i=n;i+)sum=sum+f(i);printf(sum=%d,sum); int f(int y)y=y*y;return(y);29、從鍵盤輸入一個(gè)十進(jìn)制整型數(shù)據(jù),計(jì)算并輸出其各位上數(shù)字之和(忽略正負(fù)號(hào))。例如輸入1234,輸出10;輸入-1234,輸出10.#include#includevoid main()int i1,i2,i3,i4,k,n;printf(input date is:);scanf(%d,&n);k=abs(n);i1=k/1000;i2=(k-i1*1000)/100;i3=(k-i1*1000-i2*100)/10;i4=k%10;printf(the sum of the to

溫馨提示

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

最新文檔

評論

0/150

提交評論