c語言習題參考答案(1)_第1頁
c語言習題參考答案(1)_第2頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、c語言習題參考答案(1) c語言習題參考答案 第1題:從鍵盤輸入10個正整數,求這10個整數中奇數的和。 #includestdio.hint main()int x,sum,i;printf(請輸入10個正整數:n);i=1;sum=0;doprintf(請輸入第%d個正整數:,i);scanf(%d,x);if(x0)i+;printf(%dn,x);if(x%2=0)sum=sum+x;else printf(a);while(i11);printf(這10個整數中奇數的和sum=%dn,sum);return 0;第2題:編程求10的階乘。#includestdio.hint main

2、()int i,a;a=1;for(i=10;i0;i-)a*=i;printf(10的階乘:%dn,a);return 0;第3題:有一函數y=寫一程序,輸入x值,輸出y值。#includestdio.hint main()float x,y;printf(enter x:n);scanf(%f,x);if(x1)y=x;else if(x=0)y=2*x-1;else y=x+3;printf(y=%fn,y);return 0;第4題:輸入一個三位數的正整數,要求以相反的挨次輸出該數#includestdio.hint main()int x,y,z,m;printf(請輸入3位正整數:

3、n);scanf(%d,x);printf(%d,x);if(0x1000)y=x/100;z=(x-y*100)/10;m=x-y*100-z*10;printf(相反挨次輸出:n);printf(%d%d%dn,m,z,y);else printf(a);return 0;第5題:有三個整數a、b、c,由鍵盤輸入,輸出其中最小的數。#includestdio.hint main()int a,b,c,m;printf(請輸入第1個整數a=);scanf(%d,a);printf(請輸入第2個整數b=);scanf(%d,b);printf(請輸入第3個整數c=);scanf(%d,c);i

4、f(ab)m=a;elsem=b;if(mc)m=c;printf(其中最小的數:);printf(%dn,m);return 0;第6題從鍵盤輸入一個正整數,推斷該整數是否為素數。#includestdio.hint main()int n,k,m;m=0;printf(請輸入n=);scanf(%d,n);for(k=2;k=n/2;k+)if(n%k=0)m+;if(m1)printf(n=%d不是素數!n,n);elseprintf(n=%d是素數!n,n);return 0;第7題求1-3+5-7+-99+101的值。#includestdio.hint main()int i,fh

5、,sum;fh=1;sum=0;for(i=1;i102;i=i+2)sum=sum+i*fh;fh=fh*(-1);printf(sum=%dn,sum);return 0;第8題 sum=1+1/2+2/3+3/4+99/100#includestdio.hint main()float i,sum;sum=1;for(i=1;i100;i+)sum=sum+i/(i+1);printf(sum=%fn,sum);return 0;第9題從鍵盤輸入10個正整數,求這10個整數中偶數的和。#includestdio.hint main()int x,sum,i;printf(請輸入10個正整

6、數: c語言習題參考答案 n); i=1;sum=0;doprintf(請輸入第%d個正整數:,i);scanf(%d,x);if(x0)i+;if(x%2=0)sum=sum+x;else printf(a);while(i11);printf(這10個整數中偶數的和sum=%dn,sum);return 0;第10題輸出10-100以內的偶數,要求該偶數的兩個數字不相同#includestdio.hint main()int i,a,b;printf(10-100以內的偶數,且偶數的兩個數字不相同:n);for(i=10;i101;i+)if(i%2=0)a=i/10;b=i-a*10;i

7、f(a!=b)printf( %d ,i);return 0;第11題從鍵盤輸入一個整數,編程推斷其奇偶性和正負性。#includestdio.hint main()int x,sum,i;printf(請輸入一個整數:n);scanf(%d,x);if(x%2!=0)printf(%d是奇數n,x);else printf(%d是偶數n,x);if(x0)printf(%d是正數n,x);else if(x0) printf(%d是負數n,x);else printf(%d既不是正數也不是負數n,x);return 0;第12題輸出100以內能被3整除且至少有一位數字是5的全部整數#incl

8、udestdio.hint main()int a,b,c,d,i;printf(輸出100以內能被3整除且至少有一位數字是5的全部整數:n);for(i=1;i=100;i+)a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(a=5|b=5|c=5)if(i%3=0)printf( %d ,i);printf(n);return 0;第13題輸入4個整數,要求按由小到大的挨次輸出#includestdio.hint main()int i,j,t,a4;printf(請輸入4個整數:n);for(i=0;i4;i+)scanf(%d,ai);printf(n)

9、;for(j=0;j3;j+)for(i=0;i3-j;i+)if(aiai+1)t=ai;ai=ai+1;ai+1=t;printf(由小到大的排序:n);for(i=0;i4;i+)printf( %d ,ai);printf(n);return 0;第14題有一分數序列:1/2,2/3,3/4,4/5求出這個數列的前20項之和。#includestdio.hint main()float i,sum;sum=0;for(i=1;i=20;i+)sum=sum+i/(i+1);printf(sum=%fn,sum);return 0;第15題在1500中,找出能同時滿意用3除余2,用5除余

10、3,用7除余4的全部整數#includestdio.hint main()int i;printf(在1500中,能同時滿意用3除余2,用5除余3,用7除余4的全部整數:n);for(i=1;i=500;i+)if(i%3=2)if(i%5=3)if(i%7=4)printf( %d ,i);printf(n);return 0;第16題編寫程序,求出在100到300之間的數,它們滿意條件:三位數字之積為42,三位數字之和為12。#includestdio.hint main()int i,a,b,c;printf(在100到300之間的數,滿意條件:三位數字之積為42,三位數字之和為12:n

11、);for(i=100;i=300;i+)a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(a*b*c=42a+b+c=12)printf( %d ,i);printf(n);return 0;第17題(同第9題)第18題計算pai的近似值#includestdio.hint main()float pai,pai1,i,fh;fh=1;pai1=0;for(i c語言習題參考答案 =1;1/i=10*(-6);i+=2) pai1=pai1+fh/i;fh=fh*(-1);pai=4*pai1;printf(%fn,pai);return 0;第19題寫一程序

12、,輸入x值,輸出y值#includestdio.hint main()float x,y;printf(enter x:n);scanf(%f,x);if(x5)y=x;else if(x0)y=2*x-1;else y=x+3;printf(y=%fn,y);return 0;第20題輸入一個四位數的正整數,要求以相反的挨次輸出該數#includestdio.hint main()int x,y,z,m,n;printf(請輸入4位正整數:n);scanf(%d,x);printf(%d,x);if(0x10000)y=x/1000;z=(x-y*1000)/100;m=(x-y*1000-

13、z*100)/10;n=x-y*1000-z*100-m*10;printf(相反挨次輸出:n);printf(%d%d%d%dn,n,m,z,y);else printf(a);return 0;第21題(同第7題)第22題有三個整數a、b、c,由鍵盤輸入,輸出其中最大的數。#includestdio.hint main()int a,b,c,max;printf(請輸入3個整數:n);scanf(%d%d%d,a,b,c);printf(a=%db=%dc=%dn,a,b,c);if(a=b)max=b;else max=a;printf(max=%dn,max=c?max:c);retu

14、rn 0;第23題(同第6題)第24題求-1+3-5+7-前100項的值#includestdio.hint main()int sum1,sum2,sum,i.j;sum1=0;sum2=0for(i=1;i=100;i+)sum1=sum1+(2*i+1);sum1=-1*sum1;for(j=3,j=100,j+)sum2=sum2+(2*i+1);sum=sum1+sum2;printf(sum=%dn,sum);return 0;第25題求下列算式前500項的值:sum=1-1/2+2/3-3/4+#includestdio.hint main()float sum,i,fh;sum

15、=1;fh=-1;for(i=2;i500;i+)sum=sum+(i-1)/i*fh;fh=fh*(-1);printf(sum=%fn,sum);return 0;第26題有一分數序列:1/2,2/3,3/4,4/5求出這個數列的前20項之和#includestdio.hint main()float sum,i;sum=0;for(i=1;i=20;i+)sum=sum+i/(i+1);printf(sum=%fn,sum);return 0;第27題10-100以內的奇數,且奇數的兩個數字不相同#includestdio.hint main()int i,a,b;printf(10-1

16、00以內的奇數,且奇數的兩個數字不相同:n);for(i=10;i101;i+)if(i%2)a=i/10;b=i-a*10;if(a!=b)printf( %d ,i);return 0;第28題輸入5個正整數,求其中的偶數之和。#includestdio.hint main()int x,sum,i;printf(請輸入5個正整數:n);i=1;sum=0;doprintf(請輸入第%d個正整數:,i);scanf(%d,x);if(x0)i+;if(x%2=0)sum=sum+x;else printf(a);while(i6);printf(這5個整數中偶數的和sum=%dn,sum)

17、;return 0;第29題假如一個正整數等于其各個數字的立方和,則稱該數字為阿姆斯特朗數,如:407=43+03+73。試編程求出1000以內的全部阿姆斯特朗數,并輸出。#includestdio.h#includemath.hintmain()int x,y,z,m,n,sum;printf(1000以內的全部阿姆斯特朗數:n);for(x=1;x=1000;x+)y=x/1000;z=(x-y*1000)/100;m=(x-y*1000-z* c語言習題參考答案 100)/10; n=x-y*1000-z*100-m*10;sum=pow(y,3)+pow(z,3)+pow(m,3)+p

18、ow(n,3);if(x=sum)printf( %d ,x);printf(n);return 0;第30題輸出1000以內能被7整除且至少有一位數字是3的全部整數#includestdio.hint main()int a,b,c,d,i;printf(輸出1000以內能被7整除且至少有一位數字是3的全部整數:n);for(i=1;i=1000;i+)a=i/1000;b=(i-a*1000)/100;c=(i-a*1000-b*100)/10;d=i-a*1000-b*100-c*10;if(a=3|b=3|c=3|d=3)if(i%7=0)printf( %d ,i);printf(n

19、);return 0;第31題#includestdio.hint main()int i,j,t,a4;printf(請輸入4個整數:n);for(i=0;i4;i+)scanf(%d,ai);printf(n);for(j=0;j3;j+)for(i=0;i3-j;i+)if(aiai+1)t=ai;ai=ai+1;ai+1=t;printf(由大到小的排序:n);for(i=3;i=0;i-)printf( %d ,ai);printf(n);return 0;第32題#includestdio.hint main()float sum,i;sum=0;for(i=1;i=20;i+)s

20、um=sum+i/(3*i-1);printf(sum=%fn,sum);return 0;第33題在11000中,能同時滿意用4除余3,用5除余4,用7除余5的全部整數#includestdio.hint main()int i;printf(在11000中,能同時滿意用4除余3,用5除余4,用7除余5的全部整數:n);for(i=1;i=1000;i+)if(i%4=3)if(i%5=4)if(i%7=5)printf( %d ,i);printf(n);return 0;第34題#includestdio.hint main()int i,a,b,c;printf(在100到300之間的

21、數,滿意條件:三位數字之積為45,三位數字之和為15:n);for(i=100;i=300;i+)a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(a*b*c=45a+b+c=15)printf( %d ,i);printf(n);return 0;第35題(同15題)第36題#includestdio.hint main()int i,a,b,c;printf(在100到300之間的數,滿意條件:三位數字之積為48,三位數字之和為15:n);for(i=100;i=300;i+)a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(

22、a*b*c=48a+b+c=15)printf( %d ,i);printf(n);return 0;第37題輸入10個數,輸出其中最大的一個數#includestdio.hint main()int i,j,t,a10;printf(請輸入10個數:n);for(i=0;i10;i+)scanf(%d,ai);printf(n);for(j=0;j9;j+)for(i=0;i9-j;i+)if(aiai+1)t=ai;ai=ai+1;ai+1=t;printf(最大的數:n);printf( %d ,a9);printf(n);return 0;第38題(同28題)第39題(同13題)第40

23、題#includestdio.h#includemath.hint main()int x,y,z,m,sum;printf(1-999之內全部的“水仙花數”:n);for(x=1;x1000;x+)y=x/100;z=(x-y*100)/10;m=x-y*100-z*10;sum=pow(y,3)+pow(z,3)+pow(m,3);if(x=sum)printf( %d ,x);printf(n);return 0;第41題#includestdio.hint main()char x;printf(請輸入一個字符 c語言習題參考答案 :); scanf(%c,x);if('a&#

24、39;=xx='z')x=x+32;printf(該字符是大寫字母,轉換為小寫字母:n);printf(%cn,x);elseprintf(該字符不是大寫字母,輸出為:n);printf(%cn,x);return 0;第42題#includestdio.hint main()char x;printf(請輸入一個大寫字母:);scanf(%c,x);if('a'=xx='z')x=x+32;printf(該字符是大寫字母,轉換為小寫字母:n);printf(%cn,x);else printf(該字符不是大寫字母!an);return 0;第4

25、3題#includestdio.hint main()int i;printf(1-500內不能被3整除的數:n);for(i=1;i=500;i+)if(i%3)printf( %d ,i);printf(n);return 0;第44題(同31題)第45題#includestdio.hint main()int i;printf(請輸入一個整數:);scanf(%d,i);if(i%3=0i%5=0)printf(能同時被3和5整除!);else printf(不能同時被3和5整除!);printf(n);return 0;第46題#includestdio.hint main()int

26、i;float x;i=1;doprintf(請輸入第%d個同學的數學成果:,i);scanf(%f,x);if(x=60)printf(pass!n);else printf(fail!n);i+;while(i6);return 0;第47題#includestdio.hint main()int x,sum,i;printf(請輸入5個正整數:n);i=1;sum=0;doprintf(請輸入第%d個正整數:,i);scanf(%d,x);if(x0)i+;if(x%2)sum=sum+x;else printf(a);while(i6);printf(這5個整數中奇數的和sum=%dn

27、,sum);return 0;第48題(同第11題)第49題(同第37題)第50題#includestdio.h#includestring.hint main()char a80;int i;printf(輸入一個以回車結束的字符串(少于80個字符):n);gets(a);i=strlen(a)-1;printf(內容逆序輸出:n);for(;i=0;i-)printf(%cn,ai);return 0;第52題#includestdio.hint main()int a,b,c,mix;printf(請輸入3個整數:n);scanf(%d%d%d,a,b,c);printf(a=%db=%dc=%dn,a,b,c);if(a=b)mix=b;else mix=a;printf(mix=%dn,mix=c?max:c);return 0;第53題(同第4題)第54題#includestdio.hint main()float salary,tax,rate;printf(輸入一個職工的月薪salary=);scanf(%f,salary);rate=0.2;if(salary=850)rate=0;if(salary=1350salary850)rate=0.05;if(salary=2850sala

溫馨提示

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

評論

0/150

提交評論