C語言題庫(編程)河南工業(yè)大學(xué)河工大c語言期末考考試庫(最新整理)_第1頁
C語言題庫(編程)河南工業(yè)大學(xué)河工大c語言期末考考試庫(最新整理)_第2頁
C語言題庫(編程)河南工業(yè)大學(xué)河工大c語言期末考考試庫(最新整理)_第3頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、c 語言題庫(編程)河南工業(yè)大學(xué) 河工大 c 語言期末考試題庫二、編程題1.有一函數(shù):當(dāng) x0 時(shí),y=1。編一程序,輸入 x 的值,輸出 y 的值。#include void main()int x,y;printf(請(qǐng)輸入 x:);scanf(%d,&x); if(x0)y=-1;else if(x=0) y=0;elsey=1;printf(y=%d,y);2. 輸入三個(gè)實(shí)數(shù),將這三個(gè)數(shù)按由大到小的順序排列,并輸出這三個(gè)數(shù)。#include void main()int a,b,c,temp=0; printf(please input a,b,c:); scanf(%d %d %d,&

2、a,&b,&c); if(ab) temp=a;a=b;b=temp; if(ac)temp=a;a=c;c=temp; if(bb&ac)max=a; if(ba&bc) max=b; if(ca&cb) max=c;printf(最大值是: %dn,max);4. 編程求圓面積、圓周長(zhǎng)。要求圓半徑由鍵盤輸入,輸出時(shí)要求有文字說明,取小數(shù)點(diǎn)后兩位數(shù)字。#include #define pi 3.1416 main()float r,l,s;printf(請(qǐng)輸入半徑:n); scanf(%f,&r);l=2*pi*r; s=pi*r*r;printf(l=%7.2fns=%7.2fn,l,s)

3、;5. 【有點(diǎn)難】 有分段函數(shù):當(dāng) x10 時(shí),y=sqrt(x)。編一程序,輸入 x 的值,輸出 y 的值。6. 編寫程序,判斷某一年是否是閏年。(閏年的條件是:能被 4 整除, 但是不能被 100 整除,或者可以被 400 整除。)#include int main()int year,leap; scanf(%d,&year); if (year%4=0)if(year%100=0)if(year%400=0) leap=1;elseleap=0;elseleap=1;elseleap=0; if (leap)printf(%d is ,year); elseprintf(%d is n

4、ot ,year); printf(a leap year.n); return 0;7. 輸入一個(gè)華氏溫度,要求輸出攝氏溫度,輸出時(shí)要求有文字說明,取小數(shù)點(diǎn)后兩位數(shù)字。公式為 c=5/9(f-32) #includeint main()float f,c;printf(輸入華氏溫度:n); scanf(%f,&f);c=(f-32)/1.8;printf(對(duì)應(yīng)的攝氏溫度是:%5.2fn,c);8.有一函數(shù):當(dāng) x1 時(shí),y=|x|;當(dāng) 1=x=10 時(shí), y=3x+11。編一程序,輸入 x 的值,輸出 y 的值。9. 輸入三個(gè)實(shí)數(shù),將這三個(gè)數(shù)按由小到大的順序排列,并輸出這三個(gè)數(shù)。#inclu

5、de void main()int a,b,c,temp=0; printf(please input a,b,c:); scanf(%d %d %d,&a,&b,&c); if(ab) temp=a;a=b;b=temp; if(ac)temp=a;a=c;c=temp; if(bc)temp=b;b=c;c=temp;printf(從小到大為:%d,%d,%dn,a,b,c);10. 輸入一個(gè)字符,判斷它是否是小寫字母,如果是,將它轉(zhuǎn)換成大寫字母;如果不是,不轉(zhuǎn)換。然后輸出最后得到的字符。#include#include void main()char a; scanf(%c,&a); i

6、f(islower(a) a=a-32;printf(%cn,a);11. 編程求圓柱體積,圓柱表面積。要求圓半徑,圓柱高由鍵盤輸入, 輸出時(shí)要求有文字說明,取小數(shù)點(diǎn)后兩位數(shù)字。#include int main(int argc, char *argv)float r,h,l,s,sq,vq,vz; float pi=3.1415926;printf(請(qǐng)輸入圓的半徑 r,圓柱高 h:); scanf(%f,%f,&r,&h);l=2*pi*r; s=pi*r*r; sq=4*pi*r*r; vq=4.0/3.0*pi*r*r; vz=pi*r*r*h;printf( 圓 周 長(zhǎng) 為 :l=%

7、6.2fn,l); printf( 圓 面 積 為 :s=%6.2fn,s); printf(圓球表面積為:sq=%6.2fn,sq); printf(圓球體積為:vq=%6.2fn,vq); printf(圓柱體積為:vz=%6.2fn,vz); system(pause);return 0;12.有分段函數(shù):當(dāng) x5 時(shí),y=2x-10.編一程序,輸入 x 的值,輸出 y 的值。13. 有三個(gè)整數(shù) a,b,c,由鍵盤輸入,輸出其中最小者。#include int main()inta,b,c,temp,min; printf(請(qǐng)輸入三個(gè)整數(shù):); scanf(%d,%d,%d,&a,&b,

8、&c); temp=(ab)? a:b; min=(tempc)? temp:c;printf(三個(gè)數(shù)中最小數(shù)是%dn,min); return 0;14. 輸入一個(gè)字符,判斷它是否是大寫字母,如果是,將它轉(zhuǎn)換成小寫字母;如果不是,不轉(zhuǎn)換。然后輸出最后得到的字符。#include void main()char c;printf(input ch:); c=getchar();if( c=a&c=z)c=c+32;printf(%c,c);else printf(%c,c);15. 輸入三角形的三邊長(zhǎng),求三角形面積。求三角形面積的公式為area=sqrt(s(s-a)(s-b)(s-c), 其

9、 中 s=(a+b+c)/2 #include#include void main()float a,b,c,s,area; printf(依次輸入 a,b,c:);scanf(%f%f%f,&a,&b,&c); s=(float)0.5*(a+b+c);area = (float)sqrt(s*(s-a)*(s-b)*(s-c); printf(面積為:%7.2f,area);16.編程求 2!+4!+6!+8!+10!的值,并輸出結(jié)果。#includeint main()int n=1,sum=0,j,m=1,i; for(i=1;i=5;i+)m=1;for(j=1;j=2*i;j+)

10、m=m*j;sum=sum+m;printf(sum=%dn,sum); return 0;17. 猴子吃桃問題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第 10 天早上想吃時(shí)就剩一個(gè)桃子了。求第一天共摘了多少個(gè)桃子。#includevoid main()int day; static x1=1; day=10;while(day0)x1=(x1+1)*2;day-;printf(桃子總數(shù)=%dn,x1);18. 輸出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè) 3 位數(shù),其各位數(shù)

11、字立方和等于該數(shù)本身。#include int main()int i,j,k,n;printf(水仙花數(shù)是); for(n=100;n1000;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;19. 編程求 1100 之間的所有素?cái)?shù),并輸出結(jié)果。#include int main(void)int a100,i,j;for (i = 0; i100; i+) ai=i+1; for (i=1; i100; i+)for (j=i+1; j100; j+) if (a

12、i&aj%ai=0) aj=0;for (i = 1; i100; i+)if (ai) printf(%dt,ai); return 0;20.編程求 1!+3!+5!+7!+9!的值,并輸出結(jié)果。#includeint main()int n=1,sum=0,j,m=1,i; for(i=1;i=5;i+)m=1;for(j=1;j=2*i-1;j+) m=m*j;sum=sum+m;printf(sum=%dn,sum); return 0;21.用 pi/41-1/3+1/5-1/7+.公式求 pi 的近似值的絕,直到某一項(xiàng)對(duì)值小于 10 的-6 次方為止。#include #incl

13、ude int main()int sign=1;double pi=0.0,n=1.0,term=1.0; while(fabs(term)=1e-6)pi=pi+term; n=n+2;sign=-sign; term=sign/n;pi=pi*4; printf(pi=%10.8fn,pi); return 0;22. 一個(gè)球從 100m 高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反彈。求它在第 10 次落地時(shí)共經(jīng)過多少米? #include stdio.h#include stdio.h main()float sn=100.0,hn=sn/2; int n; for(n

14、=2;n=10;n+)sn=sn+2*hn;/*第 n 次落地時(shí)共經(jīng)過的米數(shù)*/hn=hn/2; /*第 n 次反跳高度*/printf(the total of road is %fn,sn); getch();23. 輸入兩個(gè)正整數(shù) m 和 n,求其最大公約數(shù)和最小公倍數(shù)。#include int main()intp,r,n,m,temp;printf(請(qǐng)輸入兩個(gè)正整數(shù) n,m:);scanf(%d%d,&n,&m); if (nm)temp=n; n=m; m=temp;p=n*m; while(m!=0)r=n%m; n=m; m=r;printf(它們的最大公約數(shù)為:%dn,n);

15、 printf(它們的最小公約數(shù)為:%dn,p/n); return 0;24.利用循環(huán),編程求 1!+2!+3!+10!的值,并輸出結(jié)果。main()int i,j,n,sum=0; for(i=1;i=10;i+) n=1;for(j=1;j=i;j+) n*=j;sum+=n;printf(%dn,sum);25.有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13.,求出這個(gè)數(shù)列前 20 項(xiàng)之和。#include main() int i,x,y,a; float sum=0; x=2;y=1;for(i=1;i20;i+)sum+=(float)(x)/y;/ prin

16、tf(%d/%dn,x,y); a=x;x=x+y; y=a;printf(%7.5fn,sum);26. 求 fibonacci 數(shù)列前 40 個(gè)數(shù)。這個(gè)數(shù)列有以下特點(diǎn):第 1 和第 2個(gè)數(shù)為 1,從第 3 個(gè)數(shù)開始,該數(shù)是其前面兩個(gè)數(shù)之和。#include #define n 4long fibonacci(int n)if (0=n|1=n) return 1; elsereturn fibonacci(n-1)+fibonacci(n-2);int main(void)int i;printf(fibonacci 數(shù)列的前 40 項(xiàng)n); for (i=0; i40;)printf(%

17、-10ld,fibonacci(i+); if(i%n=0) printf(n);printf(n); return 0;27. 一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為完數(shù)。例如,6 的因子為 1、2、3,而 6=1+2+3,因此 6 是完數(shù)。編程求 1000 以內(nèi)所有完數(shù)。#include void main()int i,j;intsum; for(i=2;i1000;i+)sum=0; for(j=1;ji;j+)if(i%j=0) sum=sum+j; if(sum=i)printf(%d 是完數(shù)n,sum);28. 求 s=a+aa+aaa+.+aa.a(n 個(gè) a)之值。其中

18、 a 是一個(gè)數(shù)字,n 代表 a 的位數(shù)。例如:2+22+222+2222+22222(此時(shí) n 為 5),n 由鍵盤輸入。#include int main()inta,n,i=1,sn=0,tn=0; printf(a,n=:);scanf(%d,%d,&a,&n); while(i=n)tn=tn+a; sn=sn+tn; a=a*10;+i;printf(a+aa+aaa+.=%dn,sn); return 0;29. 編程求 100200 之間的所有素?cái)?shù),并輸出結(jié)果。#include#include int main()int n,k,i,m=0; for(n=101;n=200;n=

19、n+2)k=sqrt(n); for(i=2;i=k+1)printf(%d,n); m=m+1;if(m%10=0)printf(n);printf(n); return 0;30. 輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。#includestdio.h main()char c;int i=0,j=0,k=0,l=0; while(c=getchar()!=n)if(c=65&c=97&c=48&c=57) j+;else if(c=32) k+; else l+;printf(i=%d,j=%d,k=%d,l=%dn,i,j,k,l);31. 將一個(gè)數(shù)組中的值按

20、逆序重新存放。例如,原來順序?yàn)?,6,4,3,2,0。要求改為 0,2,3,4,6,8。#include#define n 5 int 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+)temp=ai; ai=an-i-1;an-i-1=temp;printf(nnow,array a:n); for(i=0;in;i+) printf(%4d,ai); printf

21、(n);return 0;32.編寫一個(gè)函數(shù),求數(shù)列 1+1/2+1/3+1/4+1/5+.1/n,利用主函數(shù)調(diào)用這個(gè)函數(shù)并輸出結(jié)果。#include main()float i=1,sum=0,n; printf(input a number n:); scanf(%f,&n);while(i=n)sum+=1.0/i; i=i+1;printf(%fn,sum);33. 將一個(gè)二維數(shù)組 int a34的行和列的元素互換,存到另外一個(gè)二維數(shù)組中。#include int main()int a34=1,2,3,4,5,6,7,8,9,10,11,12;int b43,i,j; printf(

22、arrary a:n); for(i=0;i=2;i+)for(j=0;j=3;j+)printf(%5d,aij);bji=aij;printf(n);printf(array b:n); for(i=0;i=3;i+)for(j=0;j=2;j+) printf(%5d,bij);printf(n);return 0;34. 利用循環(huán)輸出以下圖形*#include int main()int i,j,m;for(i=1;i=5;i+)m=i; for(m=1;mi;m+)printf( ); for(j=0;j=5-i;j+) printf(*);printf(n);return 0;35

23、. 用冒泡排序法對(duì)輸入的 10 個(gè)數(shù)進(jìn)行降序排序,并存入數(shù)組中。#include int main()int a10;int i,j,t;printf(input 10 numbers: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(the sorted numbers:n); for(i=0;i10;i+)printf(%d,ai); printf(n);return 0;36. 有一個(gè) 3 乘 4 的矩陣,要求編

24、程序求出其中值最大的那個(gè)元素的值,以及其所在的行號(hào)和列號(hào)。#include int main()int i,j,row=0,colum=0,max;int a34=1,2,3,4,5,6,7,8,9,10,11,12;max=a00; for(i=0;i=2;i+)for(j=0;jmax)max=aij; row=i; colum=j;printf(max=%d,row=%d,colum=%dn,max,row,colum);return 0;37. 用冒泡排序法對(duì)輸入的 10 個(gè)數(shù)進(jìn)行升序排序,并存入數(shù)組中。#include int main()int a10;int i,j,t;prin

25、tf(input 10 numbers:n); for(i=0;i10;i+)scanf(%d,&ai); printf(n); for(j=0;j9;j+)for(i=0;iai+1)t=ai;ai=ai+1;ai+1=t; printf(the sorted numbers:n); for(i=0;i10;i+)printf(%d,ai); printf(n);return 0;38. 利用循環(huán),輸出以下圖形*#include int main()char a5=*,*,*,*,*; int i,j,k;char space= ; for (i=0;i5;i+)printf(n);prin

26、tf(); for(j=1;j=i;j+) printf(%c,space); for (k=0;k5;k+) printf(%c,ak);printf(n); return 0;39. 輸出以下楊輝三角形(要求輸出 10 行)。11112113311464115101051.#include #define n 10int main()int i,j,ann; for(i=0;in;i+)aii=1;ai0=1;for(i=2;in;i+) for(j=1;j=i-1;j+)aij=ai-1j-1+ai-1j; for(i=0;in;i+)for(j=0;j=i;j+) printf(%6d

27、,aij); printf(n);printf(n); return 0;40. 利用循環(huán)輸出以下圖形*#include int main()int i,j,m;for (i=1;i=4;i+)m=i;for (m=1;m=4-i;m+) printf( );for (j=0;j2*i-1;j+) printf(*);printf(n);return 0;41. 利用循環(huán),輸出以下圖形* #includeint main()int n,i,j; scanf(%d,&n); for(i=0;i0;j-)printf( ); for(j=0;j25)k%=26;printf(%c,*+k); pr

28、intf(n);return 0;42. 求一個(gè) 33 的整型矩陣對(duì)角線元素之和。#includemain()int a33,i,j,sum=0;printf(請(qǐng)輸入數(shù)組元素:(3*3)n); for(i=0;i3;i+)for(j=0;j3;j+) scanf(%d,&aij);printf(n); printf(數(shù)組為:n); for(i=0;i3;i+)for(j=0;j3;j+) printf(%4d,aij);printf(n);printf(n);printf(對(duì)角線的和:n); for(i=0;i3;i+) for(j=0;j3;j+)if(i=j|2-i=j) sum+=aij

29、;printf(%dn,sum);43. 編寫程序,將兩個(gè)字符串連接起來,不要使用 strcat 函數(shù)。int main()char *a=qwet,*b=woei; char c20;int i,j;for( i=0,j=0;*(a+i);i+ ,j+) cj=*(a+i);for(i=0; *(b+i);i+,j+ )cj=*(b+i);cj=0;for( i=0; ci ;i+)printf(%c ,ci);44. 寫一個(gè)函數(shù),求兩個(gè)整數(shù)中的較大者,用主函數(shù)調(diào)用這個(gè)函數(shù), 并輸出結(jié)果,兩個(gè)整數(shù)由鍵盤輸入。#includeint maxnum(int a,int b)return(ab?a

30、:b);void main()int a,b,max;printf(enter two numbers!n); scanf(%d%d,&a,&b); max=maxnum(a,b); printf(max:%dn,max);45. 編寫兩個(gè)函數(shù)分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),在主函數(shù)中調(diào)用這兩個(gè)函數(shù),并輸出結(jié)果,兩個(gè)整數(shù)由鍵盤輸入。#includeint hcf(int,int);int lcd(int,int,int); void main()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=%d,l);int hcf(int u,int v)int t,r; if(vu)t=u;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論