


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、CTGS-資料文件C語言編程題1. (*)求分數序列:1/2,2/3,3/5,5/8,8/13,13/21前20項的和。main()floati=1,j=2,t=0,s,n,m;for(n=1;n<=20;n+)s=i/j,m=i,i=j,j=m+j,t=t+s;printf("t=%f',t);2. (*)從鍵盤輸入一個字符串,再將其逆序輸出。(如:輸入abcde,輸出edcba)main()inti;charc10;scanf("%s",c);for(i=9;i>=0;i-)printf("%c",ci);3. (*)已
2、知abc+cba=1333,其中a、b、c均為一位數,例如:617+716=1333,518+815=1333,試編程求出符合這一規律的a、b、c,并輸出結果。main()inta,b,c,x,y;for(a=1;a<=9;a+)for(b=0;b<=9;b+)for(c=1;c<=9;c+)x=100*a+10*b+c;y=100*c+10*b+a;if(x+y=1333)printf("x=%d,y=%d",x,y);4. (*)利用海倫公式求三角形面積,三邊長a,b,c由鍵盤輸入。若輸入的三邊長不能構成三角形,輸出相應提示信息。海倫公式如下:其中s=
3、(a+b+c)/2三角形面積=、s*(sa)*(sb)*(sc)#include"math.h"main()floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);if(a+b>c&&a+c>b&&b+c>a)printf("area=%f',area);CTGS-資料文件else1printf("no");5. (*)編程求出
4、1!+2!+3!+8!+9!+10!的值并輸出。程序1:main()inti,j;doublep=1,sum=0;for(i=1;i<=10;i+)for(j=1;j<=i;j+)p=p*i;sum=sum+p;p=1.0;printf("sum=%f",sum);程序2:floatfac(n)intn;floatf;if(n<0)printf("n<0,error!");elseif(n=0|n=1)f=1;elsef=fac(n-1)*n;return(f);main()inth,s=0,n;for(n=1;n<=4;n
5、+)h=fac(n);s=s+h;printf("s=1!+2!+.+10!=%dn",s);程序3:main()inti;doublep=1,sum=0;for(i=1;i<=10;i+)p=p*i;sum=sum+p;printf("sum=%f",sum);.2.6. (*)從鍵盤輸入兩個整數,輸出其和,差,積,商。CTGS-資料文件7(*)輸入若干個自然數,對奇數從大到小排序,對偶數從小到大排序,輸出兩種結果。maxji(inta,intn)inti,j,k,t;for(i=0;i<n-1;i+)k=i;for(j=i+1;j<
6、n;j+)if(ak<aj)k=j;if(k!=i)t=ak;ak=aj;aj=t;#defineN10main()intcN,i,j;for(i=0;i<N;i+)scanf("%d",&ci);maxji(c,N);for(i=N-1;i>=0;i-)if(ci%2=0)printf("%5d",ci);printf("n");for(i=0;i<N;i+)if(ci%2!=0)printf("%5d",ci);8. (*)求出0999之間的所有“水仙花數”并輸出。“水仙花數”是
7、指一個三位數,其各位數字的立方和確好等于該數本身,如。153=1+5+3,貝U153是一個“水仙花數”。.程序1:main()inti,j,k,a;for(i=1;i<=9;i+)for(j=0;j<=9;j+)for(k=0;k<=9;k+)if(i*i*i+j*j*j+k*k*k=100*i+10*j+k)printf("%d%d%dn",i,j,k);程序:main()intm,i,j,k,a;for(m=101;i<=999;m+)i=m/100;j=(m-m*100)/10;CTGS-資料文件3k=m%10;if(i*i*i+j*j*j+k
8、*k*k=m)printf("%dn",m);9. (*)試編程:判斷輸入的正整數是否既是5,又是7的整數倍數。若是則輸出yes。否則輸出no。10. (*)已有函數調用語句c=add(a,b)。請編寫aad函數,計算兩個實數a和b的和,并返回和值。.11. (*)有人想將手中一張面值100元的人民幣換成5元、1元、0.5元面值的零錢100張,以上三種面值的零錢至少有一張,問共有幾種換法。請編程實現。.程序1:main()inti,j,k,n=0;for(i=1;i<19;i+)for(j=1;j<95;j+)for(k=1;k<94;k+)if(5*i+
9、j+0.5*k=100&&i+j+k=100)printf("%d,%d,%dn",i,j,k);n+;printf("%d",n);12. (*)求Sn=a+aa+aaa+aaaa+aaaaa的前5項之和,其中a是一個數字,例如:2+22+222+2222+22222程序1:main()inti,a,n;longsum=0,b=1,c=1;程序3:main()longintsn=0,k=a;inta,i,j;scanf("%d",&a);for(i=1;i<=5;i+)k=10*k+a;sn=sn+k;
10、printf("%ldn",sn);scanf("%d,%d",&a,&n);for(i=1;i<=n;i+)sum+=a*c;.b*=10;c+=b;printf("%ld",sum);程序2:main()longintsn=0,k=0;inta,i,j;scanf("%d",&a);for(i=1;i<=5;i+)for(j=1;j<=i;j+)k=10*k+a;CTGS-資料文件sn=sn+k;k=0;printf("%ldn",sn);13. (
11、*)編程輸出如下圖形(不能僅用printf語句):*main()inti,k,j;for(i=0;i<=4;i+)for(j=0;j<4-i;j+)printf(”");for(k=0;k<=2*i;k+)printf("*");printf("n");14. (*)用近似公式求自然對數的底e的值。111+1!+十+2!3!#include"math.h"main()floati,j,e,p=1.0,sum=0.0;for(i=1;i<10;i+)for(j=1;j<=i;j+)p=p*j;su
12、m=sum+1.0/p;p=1.0;e=i+sum;printf("%fn",e);15. (*)請編程,用scanf()函數輸入三個字符,對這三個字符各加一個整數1后,用putchar()函數輸出,且每輸出一個字符換一行。16. (*)請編程,用scanf()函數輸入三個整數,輸出其中不大不小的那個數,輸出寬度為五位。intfindmid(inti,intj,intk)intn;CTGS-資料文件5if(i<j)n=i;i=j;j=n;if(i<k)n=i;elseif(j>k)n=j;elsen=k;return(n);main()inti,j,k,n
13、;scanf("%d%d%d",&i,&j,&k);n=findmid(i,j,k);printf("%dn",n);17. (*)編程實現輸出所有1100之間能被9整除余2的數。18(*)編寫一程序實現如下功能:輸入1、2、3、4、5、6、7(分別對應星期一至星期日)中的任何一個數,便能輸出與之對應的英文名稱。如輸入1,則輸出Monday。.main()charday;scanf("%c",&day);swith(day)case'1':printf("mondayn&quo
14、t;);break;case'2':printf("tuesdayn");break;case'3':printf("wednsdayn");break;case'4':printf("thursdayn");braek;case'5':printf("fridayn");break;case'6':printf("saturdayn");break;case'7':printf("sund
15、ayn");break;defult:printf("errorn");19.(*)編一程序,對于給定的一個百分制成績,輸出相應的5分制成績。設:90分以上為A'8089分為B',7079分為C',6069分為D,60分以下為E'(用switch語句實現)。.main()ints,score;scanf("%d",&score);s=score/10;switch(s)case10:printf("An");break;case9:printf("An");brea
16、k;case8:printf("Bn");break;CTGS-資料文件case7:printf("Cn");break;case6:printf("Dn");break;case5:case4:case3:case2:case1:printf("En");break;default:printf("error");20(*)試編程:判斷輸入的正整數是否既是5,又是7的整數倍數。若是則輸出yes。否則輸出no。21(*)一個數如果卻好等于它的因子之和,這個數就稱為“完數”。例如,6的因子為1、2
17、、3,而6=1+2+3,因此6是“完數”。編程序找出100之內的所有完數,并按下列格式輸出其因子:6itsfactorsare1,2,3.main()intm,i,s;for(m=2;m<1000;m+)s=0;for(i=1;i<m;i+)if(m%i=0)s=s+i;if(m=s)printf("%3ditsfactorsare",m);for(i=1;i<m;i+)if(m%i=0)printf("%4d",i);printf("n");22(*)輸入5對整數,請輸出每對數中較大者main()inti,j,a5
18、2;for(i=0;i<=4;i+)for(j=0;j<=1;j+)scanf("%d",&aij);for(i=0;i<=4;i+)if(ai1>ai0)printf("%4dn",ai1);elseprintf("%4dn",ai0);程序1:floatmax(intn,floata)inti;floatmax;max=a0;for(i=0;i<n;i+)if(max<ai)max=ai;return(max);floatmin(intn,floata)inti;floatmin;min
19、=a0;for(i=0;i<n;i+)if(min>ai)min=ai;return(min);floataver(intn,floata)inti;.6.23. (*)編程將一個3x3矩陣轉置(行列互換)后輸出。main()inti,j,a33,b33;for(i=0;i<=2;i+)for(j=0;j<=2;j+)scanf("%d",&aij);for(i=0;i<=2;i+)for(j=0;j<=2;j+)print(%5d,aij);bji=aij;printf('n');for(j=0;j<=2;
20、j+)for(i=0;i<=2;i+)printf("%5d",bij);printf(“n”);24. (*)求一個一維數組的最大值,最小值和平均值(主函數調用并輸出)程序2:main()voidmake();inta10,i;externintmax,min;externfloataver;for(i=0;i<10;i+)scanf("%d",&ai);make(a,10);printf("max=%d,min=%d,aver=%.2f',max,min,aver)5intmax,min;floataver;vo
21、idmake(inta,intn)inti;floatsum;max=min=a0;sum=a0;for(i=1;i<n;i+)if(max<ai)max=ai;8卩的“>ai)min=ai;sum+=ai;printf("%f',sum);aver=(float)sum/n;floatsum=0,aver;7for(i=0;i<n;i+)sum=sum+ai;aver=sum/n;return(aver);#include"math.h"main()inti;floatm,n,a5,c;for(i=0;i<5;i+)scan
22、f("%f",&ai);m=max(5,a);n=min(5,a);c=aver(5,a);printf("%5f%5f%5fn",m,n,c);2634,輸25(*)編寫函數,求一個不超過五位的十進制整數各位數值的和。(如:輸入出15)#include"math.h"main()inti,a5,m,n=0;scanf("%d",&m);for(i=0;i<=4;i+)ai=m%10;n=n+ai;m=m-ai*10;printf("%5d",ai);printf('
23、;n');printf("%d",n);26.(*)編程求出一個3x3矩陣的最大和最小元素及其下標。main()inti,j,max,min,a33,m1,n1,m2,n2;for(i=0;i<=2;i+)for(j=0;j<=2;j+)scanf("%d",&aij);min=max=a00;CTGS-資料文件8for(i=0;i<=2;i+)for(j=0;j<=2;j+)if(aij>max)max=aij;m1=I;n1=j;elseif(aij<min)min=aij;m2=i;n2=j;pr
24、intf("max=%d,%3d,%3d,min=%d,%3d,%3d",max,m1,n1,min,m2,n2);.m個字符開27(*)有一個字符串,包含n個字符,編寫一個函數,將此字符串中從第始的全部字符復制成另一個字符串。.main()charchs230=0,chs130="thisismyfirstCprogram".inti,j,m;scanf("%d",&m);for(i=m,j=0;i<30;i+,j+)chs2j=chs1i;chs229='0'printf("%s"
25、,chs2);28(*)求一個3x3矩陣的對角線元素之和。main()inti,j,sum1=0,sum2=0,a33;for(i=0;i<=2;i+)for(j=0;j<=2;j+)scanf("%d",&aij);for(i=0;i<=2;i+)for(j=0;j<=2;j+)if(i=j)sum1+=aij;if(i+j)=2)sum2+=aij;printf("%5d%5d",sum1,sum2);29(*)從鍵盤輸入兩個整數,輸出其最大公約數和最小公倍數。程序1:main()inta,b,t,p,r;scanf(
26、"%d,%d",&a,&b);if(a<b)t=a;a=b;b=t;p=a*b;while(b!=0)r=a%b;a=b;b=r;printf(“%5d%5”d,a,p/a);9main()inta,b,m,n,i,t;scanf(“%d%”d,&a,&b);if(a<b)t=a;a=b;b=t;m=a;n=b;for(i=1;i<=n;i+)if(m%i=0)&&(n%i=0)printf("%5dn",i);break;printf("%5d",a*b/i);10個
27、數,要求30(*)一個已按從小到大的順序排序的數組,有9個元素,從終端輸入第按原來排序的規律將它插入數組中。(該數比第一個數大,比第九個數小).#defineN10main()intb,i,n,aN=1,5,7,11,15,19,23,28,31;scanf("%d",&b);for(i=0;i<N-1;i+)if(ai>b)n=i;break;for(i=(N-2);i>=n;i-)ai+1=ai;an=b;for(i=0;i<N;i+)printf("%5d",ai);31(*)請編寫程序,輸出以下揚輝三角形(要求輸出
28、10行)。111121133114641#defineM10#defineN10main()intaMN,i,j;for(i=0;i<M;i+)for(j=0;j<=i;j+)if(j=0|j=i)aij=1;elseaij=ai-1j-1+ai-1j;for(i=0;i<M;i+)for(j=0;j<=i;j+)printf("%4d",aij);printf("n");32(*)從鍵盤輸入少于50個的整數,其值在0和4之間(包括0和4),用-1作為輸入結束標志,統計每個整數的個數。請編程實現。33.(*)從鍵盤輸入兩個字符串a
29、和b,要求不用庫函數strcat把串b的前五個字符連接到串a中。如果b的長度小于5,則把b的所有元素都連接到a中,請編程實現。main()chara50,b10,*p1,*p2;inti,j;scanf(“%s%”s,a,b);n=strlen(a);for(p1=a+n,p2=b;p1<=a+(n+4);p1+,p2+)*p1=*p2;if(*p2='0')break;*p1='0'printf(“%s”,a);34(*)編寫函數,在一個一維數組中查找指定值,若找到則返回該數值的下標,否則返回-1。要求用指針變量傳遞數組首地址。main()floata1
30、0=1,2,3,4,5,6,7,8,9,10;floatb;inti;scanf("%f",&b);for(i=0;i<10;i+)if(b=ai)printf("%dn",i);break;if(i>=10)printf("-1");printf("n");35(*)寫一程序,要求用戶在鍵盤上輸入一個整數,并把每位數字轉換為英文。例如:輸入1024時,輸出OneZeroTwoFourmain()longintn;intm,i=0,c10;scanf("%ld",&n
31、);dom=n%10;i+;ci=m;printf("%5d%5d%5dn",i,m,ci);while(n/=10)>0);while(i>=1)i-;switch(ci+1)case0:printf("zero");printf("");break;case1:printf("one");printf("");break;case2:printf("two");printf("");break;case3:printf("thre
32、e");printf("");break;case4:printf("four");printf("");break;case5:printf("five");printf("");break;case6:printf("six");printf("");break;case7:printf("seven");printf("");break;case8:printf("eight");
33、printf("");break;例如:例如:case9:printf("nine");printf("");break;default:printf("no");36.(*)A數組中有8個元素,從第6個元素開始將數組后三個元素移到數組開頭。A數組元素為:26985374移動后數組變為:37426985#defineN8main()inta8=2,6,9,8,5,3,7,4;inti,j,t;for(i=0;i<8;i+)printf("%5d",ai);printf("n&qu
34、ot;);for(j=0;j<3;j+)t=aN-1;for(i=N-2;i>=0;i-)ai+1=ai;a0=t;for(i=0;i<8;i+)CTGS-資料文件printf("%5d",ai);37(*)按如下格式打印輸出乘法口訣表:1X仁11X2=22X2=4III1X9=92X9=183X9=279X9=8138.(*)請將n個整數按升序重新放在原數組中,制作時不得另開辟數組。39(*)輸入若干學生一門功課的成績,統計各分數段的人數。凡不及格(60分以下)都由一個計數器來統計,其它以10分作為一個數段,100分作為一個分數段。.main()inta
35、10;inti,j,t,p;for(i=0;i<10;i+)scanf("%d",&ai);for(i=0;i<9;i+)p=i;for(j=i+1;j<10;j+)if(ap>aj)p=j;if(p!=j)t=ai;ai=ap;ap=t;for(i=0;i<10;i+)printf("%5d",ai);40.(*)編寫函數,給定一個數,刪除數組中與之相等的元素,返回值為刪除后數組中的元素個數。main()floata10,t;ints,b6=0,i;for(i=0;i<10;i+)scanf("%f
36、",&ai);i=0;while(i<10)s=(int)ai/10;i+;switch(s)case10:b0+;break;case9:b1+;break;case8:b2+;break;case7:b3+;break;case6:b4+;break;case5:case4:case3:case2:case1:case0:b5+;break;for(i=0;i<=5;i+)printf("%2d",bi);41.(*)輸入一個整數,判斷它能否被3、5、7整除,并輸出以下信息之一:能同時被3、5、7整除。能被其中兩個數(說明哪兩個數)整除。只
37、能被其中一個整除(說明哪個數)。不能被3、5、7任何一個整除。42(*)有10個數已按由小到大的順序存放在一個整型數組中,從鍵盤輸入一個數,找出該數是數組中的第幾個元數,如果該數不在數組中,則打印出“無此數”。.main()inta10=2,4,6,8,10,12,14,16,18,20;inti,t,j,m;for(i=0;i<10;i+)printf(“%5d”,ai);printf(scanf(«?“n”);“%d”,&m);for(i=0;i<10;i+)if(m=ai)printf(“%5d”,i+1);break;if(i>=10)printf(
38、“no”);43(*)給出年、月、日,計算出該日是該年的第幾天。44(*)求3至50之間所有素數之和,用子函數判斷是否為素數。#include<math.h>main()intm,k,i,s=0;for(m=3;m<50;m+)k=sqrt(m);for(i=2;i<=k;i+)if(m%i=0)break;if(i>=k+1)s=s+m;printf("%5dn",s);45(*)不用strcpy函數,實現兩個字符串的復制(形參用指針變量)。46(*)從鍵盤輸入10個數,將其中最小的數與第一個數對換,最大的數與最后一個數對換,實現從小到大的排序。(用指針實現).47(*)編制程序。在主函數中輸入a、b、c三個數,在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設備拆除安全管理制度
- 設備檢測檢查管理制度
- 設備維護電池管理制度
- 設備設施控制管理制度
- 設計單位考勤管理制度
- 診室醫院感染管理制度
- 診所消防制度管理制度
- 診斷影像設備管理制度
- 調研法官助理管理制度
- 財務風險制度管理制度
- 某冶金機械廠供配電系統設計
- 收費站年度工作計劃
- xx縣精神病醫院建設項目可行性研究報告
- 《在中亞細亞草原上》賞析 課件
- 城市軌道交通供電技術442頁完整版教學課件匯總全書電子教案
- Q/GDW248-2008輸變電工程建設標準強制性條文實施管理規程第3部分:變電站建筑工程施工教程文件
- 班組會議運作技巧ppt課件
- 小學生綜合素質評價方案與評價表
- 技術比武理論復習題(繼電保護)
- 科室醫療質量安全管理與持續改進記錄本模板.doc
- DSP課程設計--基于IIR的語音信號濾波
評論
0/150
提交評論