




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、最新資料推薦C語言編程題1. (*)求分數序列:1/2,2/3,3/5,5/8,8/13,13/21.前 20 項的和。main()float i=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()int i;char c10;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()int a,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由鍵盤輸入。若輸入的三邊長不能構成三角形,輸出相應
3、提示信息。海倫公式如下:其中 s=(a+b+c)/2二角形面積=,s* (s-a)* (s-b) * (s-c)#include"math.h"main() float a,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);1最新資料推薦else printf(&
4、quot;no");)的值并輸出。5. (*)編程求出 1!+2!+3!+ +8!+9!+10! 程序 1: main() int i,j;double p=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: float fac(n)int n;float f;if (n<0) printf("n<0,error!");else if(n=0|n=1) f=1;else f=fac(n-1
5、)*n; return(f);main()int h,s=0,n;for(n=1;n<=4;n+) h=fac(n);s=s+h;printf("s=1!+2!+10!=%d'n",s);程序 3: main() int i;double p=1, sum=0;for(i=1;i<=10;i+) p=p*i;sum=sum+p;printf("sum=%f",sum);.2 .6. (*)從鍵盤輸入兩個整數,輸出其和,差,積,商。7. (*)輸入若干個自然數,對奇數從大到小排序,對偶數從小到大排序,輸出兩種結果。 maxji(int
6、a,int n) int i,j,k,t;for(i=0;i<n-1;i+)k=i;for(j=i+1;j<n;j+)if(ak<aj) k=j;if (k!=i)t=ak;ak=aj;aj=t;#define N 10main()int cN,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)p
7、rintf("%5d",ci);8. (*)求出0999之間的所有“水仙花數”并輸出。“水仙花數”是指一個三位數,其各位數字的立方和確好等于該數本身,如; 153=1 + 5+3 ,則153是一個“水仙花數”。程序 1: main()int i,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()3最新資料推薦int m,i,j,k,a;for(m=101;
8、i<=999;m+)i=m/100;j=(m-m*100)/10;.3 .k=m%10;if(i*i*i+j*j*j+k*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()int i,j,k,n=
9、0;for(i=1;i<19;i+)for(j=1;j<95;j+)for(k=1;k<94;k+)if(5*i+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()int i, a,n;long sum=0, b=1,c=1;scanf("%d,%d",&a,
10、&n);for(i=1;i<=n;i+)sum+=a*c;b*=10;c+=b; printf("%ld",sum);程序 2: main()程序 3: main()long int sn=0,k=a;int a,i,j;scanf("%d",&a);for(i=1;i<=5;i+)k=10*k+a; sn=sn+k;printf("%ldn",sn);最新資料推薦 long int sn=0,k=0;int a,i,j;scanf("%d",&a);for(i=1;i<=
11、5;i+)for(j=1;j<=i;j+) k=10*k+a;.4 .sn=sn+k;k=0; printf("%ldn",sn);13. (*)編程輸出如下圖形(不能僅用 printf 語句): * * * * * * * * * * * * * * * * * * * * *main()int i,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. (
12、*)用近似公式求自然對數的底e的值。11e1+1!+ + 2!3!#include"math.h"main()float i,j,e,p=1.0,sum=0.0;for(i=1;i<10 ;i+)for(j=1;j<=i;j+)p=p*j;sum=sum+1.0/p;p=1.0;e=i+sum;最新資料推薦printf("%fn",e);15 ( * )請編程,用scanf() 函數輸入三個字符,對這三個字符各加一個整數1 后,用putchar() 函數輸出,且每輸出一個字符換一行。16 ( *)請編程,用scanf() 函數輸入三個整數,輸
13、出其中不大不小的那個數,輸出寬度為五位。int findmid(int i,int j,int k)int n; 5 if(i<j) n=i;i=j;j=n;if(i<k) n=i;else if(j>k) n=j;else n=k;return(n);main()int i,j,k,n;scanf("%d%d%d",&i,&j,&k);n=findmid(i,j,k);printf("%dn",n);17 (*)編程實現輸出所有1100之間能被9整除余2的數。18 ( *)編寫一程序實現如下功能:輸入1、 2、
14、 3、 4、 5、 6、 7(分別對應星期一至星期日)中的任何一個數,便能輸出與之對應的英文名稱。如輸入1,則輸出Monday。main()char day;scanf("%c",&day);swith(day)case '1':printf(" mondayn");break;case '2':printf("tuesdayn"); break;case '3':printf("wednsdayn"); break;case '4':prin
15、tf("thursdayn"); braek;case '5':printf(" fridayn"); break;case '6':printf("saturdayn"); break;case '7':printf("sundayn"); break;defult: printf("errorn");19 (*) 編一程序,對于給定的一個百分制成績,輸出相應的5 分制成績。設:90 分以上為A , 8089 分為B , 7079 分為C , 6
16、069 分為D , 60 分以下為E 。 (用 switch最新資料推薦語句實現)。main()int s,score;scanf("%d",&score);s=score/10;switch(s)case 10:printf("An");break;case 9:printf("An");break;case 8:printf("Bn");break;case 7:printf("Cn");break;case 6:printf("Dn");break;case 5
17、:case 4:case 3:case 2:case 1:printf("En");break;default:printf("error"); 20. ( *)試編程:判斷輸入的正整數是否既是5,又是7 的整數倍數。若是則輸出yes;否則輸出no。21. ( * )一個數如果卻好等于它的因子之和,這個數就稱為“完數”。例如,6 的因子為1、 2、 3,而6=1+2+3,因此6 是“完數”。編程序找出100 之內的所有完數,并按下列格式輸出其因子:6 its factors are 1,2,3main()int m,i,s;for(m=2;m<10
18、00;m+) s=0;for(i=1; i<m ;i+)if(m%i=0) s=s+i;if (m=s) printf("%3d its factors are ",m);for(i=1;i<m;i+)if(m%i=0) printf("%4d",i);printf("n");7最新資料推薦22. (*)輸入5對整數,請輸出每對數中較大者main()int i,j,a52;for(i=0;i<=4;i+)for(j=0;j<=1;j+)scanf("%d",&aij);for(i=0
19、;i<=4;i+)if(ai1>ai0)printf("%4dn",ai1);elseprintf("%4dn",ai0);.6 .23. (* )編程將一個3x3矩陣轉置(行列互換)后輸出。main()int i,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(
20、j=0;j<=2;j+)for(i=0;i<=2;i+)printf("%5d",bij); printf( n "); 24. (*)求一個一維數組的最大值,最小值和平均值(主函數調用并輸出)程序1:float max(int n,float a)int i;float max;max=a0;for(i=0;i<n;i+) if(max<ai) max=ai; return(max);程序2:main()void make();int a10,i;extern int max,min;extern float aver;for(i=0;i
21、<10;i+)scanf("%d”,&ai);make(a,10);8printf("max=%d,min=%d,aver=%.2f",max,min,aver) ;最新資料推薦float min(int n,float a) int i;float min;min=a0;for(i=0;i<n;i+)if(min>ai) min=ai;return(min);)float aver(int n,float a) int i;float sum=0,aver;.7 .for(i=0;i<n;i+)sum=sum+ai;aver=su
22、m/n;return(aver);)#include"math.h" main() int i;float m,n,a5,c;for(i=0;i<5;i+)scanf("%f",&ai);m=max(5,a);n=min(5,a);c=aver(5,a);printf("%5f%5f%5fn”,m,n,c);)25. (* )編寫函數,求一個不超過五位的十進制整數各位數值的和。(如:輸入2634,輸出15)#include"math.h" main() int i,a5,m,n=0;scanf("%d
23、",&m);for(i=0;i<=4;i+)ai=m%10;9最新資料推薦n=n+ai;m=m-ai*10;printf("%5d",ai);printf('n'); printf("%d",n);26. (*)編程求出一個3x3矩陣的最大和最小元素及其下標。main()int i,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;.8 .for(i=0;i&l
24、t;=2;i+)for(j=0;j<=2;j+)if(aij>max) max=aij;m1=I;n1=j;else if(aij<min)min=aij;m2=i;n2=j;printf("max=%d,%3d,%3d,min=%d,%3d,%3d",max,m1,n1,min,m2,n2);27. (*)有一個字符串,包含 n個字符,編寫一個函數,將此字符串中從第m個字符開始的全部字符復制成另一個字符串。main()char chs230=0,chs130="this is my first C program"int i,j,m;
25、scanf("%d",&m);for(i=m,j=0;i<30;i+,j+)chs2j=chs1i;chs229='0'printf("%s",chs2); 28 . (*)求一個3x3矩陣的對角線元素之和。 main() int i,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+=
26、aij;if(i+j)=2) sum2+=aij;printf("%5d%5d",sum1,sum2); 29. (*)從鍵盤輸入兩個整數,輸出其最大公約數和最小公倍數。程序1:main()int a,b,t,p,r;scanf("%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);.9 .main() int a,b,m,n,i,t;scanf( %d%d,&a,&b);if(a<b)t
27、=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個數,要求30. ( *)一個已按從小到大的順序排序的數組,有 9個元素,從終端輸入第 按原來排序的規律將它插入數組中。(該數比第一個數大,比第九個數小)#define N 10main()int b,i,n,aN=1,5,7,11,15,19,23,28,31;scanf("%d",&b);for(i=0;i
28、<N-1;i+)if(ai>b) n=i;break;for(i=(N-2);i>=n;i-) ai+1=ai;11最新資料推薦an=b;for(i=0;i<N;i+)printf("%5d",ai); )31. (*)請編寫程序,輸出以下揚輝三角形(要求出10行)11 11 2 11 3 3 11 4 6 4 1# define M 10# define N 10 main()int aMN,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
29、;for(i=0;i<M;i+)for(j=0;j<=i;j+)printf("%4d",aij); printf("n");舌0和4),用-1作為輸入把串b的前五個字符連接 請編程實現。)32. (*)從鍵盤輸入少于50個的整數,其值在 0和4之間(包一結束標志,統計每個整數的個數。請編程實現。33. (*)從鍵盤輸入兩個字符串a和b,要求不用庫函數 strcat到串a中;如果b的長度小于5,則把b的所有元素都連接到a中,main() char a50,b10,*p1,*p2;int i,j;scanf( "%s%s ,a,b);
30、n=strlen(a);for(p1=a+n,p2=b;p1<=a+(n+4);p1+,p2+)*p1 =*p2;if(*p2=0' ) break;12最新資料推薦*p1= 0;printf( “ %s” ,a);34 ( * )編寫函數,在一個一維數組中查找指定值,若找到則返回該數值的下標,否則返回 -1 。要求用指針變量傳遞數組首地址。 main()float a10=1,2,3,4,5,6,7,8,9,10;float b;int i;scanf("%f",&b);for(i=0;i<10;i+)if(b=ai)printf("
31、%dn",i);break;if(i>=10) printf("-1");printf("n");35 ( * )寫一程序,要求用戶在鍵盤上輸入一個整數,并把每位數字轉換為英文。例如:輸入 1024 時,輸出One Zero Two Fourmain() long int n;int m,i=0,c10;scanf("%ld",&n);dom=n%10;i+;ci=m;printf("%5d%5d%5dn",i,m,ci);while (n/=10)>0);while(i>=1)
32、i-;switch(ci+1)case 0: printf("zero");printf(" ");break;case 1: printf("one");printf(" "); break; case 2: printf("two");printf(" "); break;case 3: printf("three");printf(" ");break;case 4: printf("four");printf
33、(" ");break;case 5: printf("five");printf(" ");break;case 6: printf("six");printf(" "); break;最新資料推薦case 7: printf("seven");printf(" "); break;case 8: printf("eight");printf(" "); break;case 9: printf("nin
34、e");printf(" "); break;default:printf("no");36 (*) A數組中有8個元素,從第6個元素開始將數組后三個元素移到數組開頭。例如:A 數組元素為:2 6 9 8 5 3 7 4移動后數組變為:3 7 4 2 6 9 8 5#define N 8main()int a8=2,6,9,8,5,3,7,4;int i, j,t;for(i=0;i<8;i+)printf("%5d",ai);printf("n");for(j=0;j<3;j+) t=aN-
35、1;for(i=N-2;i>=0;i-)ai+1=ai;a0=t;for(i=0;i<8;i+) printf("%5d",ai); 37 ( * )按如下格式打印輸出乘法口訣表:1X 1=11X 2=2 2 X 2=41 X 9=9 2 X 9=18 3 X 9=27 9 X 9=8138 ( * )請將 n 個整數按升序重新放在原數組中,操作時不得另開辟數組。39 ( * )輸入若干學生一門功課的成績,統計各分數段的人數。凡不及格(60 分以下)都由一個計數器來統計,其它以10 分作為一個數段,100 分作為一個分數段。main()int a10;int i
36、,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()float a10,t;int s,b6=0,i;for(i=0;i<10;i+)scanf(&qu
37、ot;%f",&ai);i=0;while(i<10)s=(int)ai/10;i+;switch(s)case 10:b0+; break;case 9:b1+; break;case 8:b2+; break;case 7:b3+; break;case 6:b4+;break;case 5:case 4:case 3:case 2:case 1:case 0: b5+; break;for(i=0;i<=5;i+)printf("%2d",bi);41 (*)輸入一個整數,判斷它能否被 3、5、7整除,并輸出以下信息之一:能同時被3、5、
38、7整除;最新資料推薦能被其中兩個數(說明哪兩個數)整除;只能被其中一個整除(說明哪個數) ;不能被3、 5、 7 任何一個整除。42 ( * )有 10 個數已按由小到大的順序存放在一個整型數組中,從鍵盤輸入一個數,找出該數是數組中的第幾個元數,如果該數不在數組中,則打印出“無此數”。main() int a10= 2,4,6,8,10,12,14,16,18,20;int i,t,j,m;for(i=0;i<10;i+)printf( “ %5d” ,ai);printf( “n” );scanf( “ %d” ,&m);for(i=0;i<10;i+) if(m=ai)
39、printf( “ %5d” ,i+1);break; if(i>=10) printf( “ no” ); 43 ( * )給出年、月、日,計算出該日是該年的第幾天。44 ( * )求 3 至 50 之間所有素數之和,用子函數判斷是否為素數。#include <math.h>main()int m,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 三個數,在子函數中用指針法將a、 b、 c排序(最大數放在a 變量中,最小數放在c 變量著) ,在主函數中輸出。48 ( * ) 輸入三個字符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 治沙精神宣講活動方案
- 畢業生網絡專場活動方案
- 漢服公司聚會活動方案
- 植物防凍活動方案
- 畢業聚會游戲活動方案
- 汽修專業活動方案
- 歌謠比賽活動方案
- 江浦團建活動方案
- 民生寫春聯活動方案
- 汽車租賃投票活動方案
- 2025年拍賣師資格(紙筆作答)高頻題庫新版
- 【高考模擬】山東省春季高考研究聯合體2024-2025學年高三上學期第一次聯合考試數學試題(含解析)
- 體育社會學(高教版)第十章《社會體育的社會學分析》
- 2024年河北唐山國控港口管理有限公司招聘筆試真題
- 2025新七年級語文下冊期末字音字形專題復習課件
- 妊娠合并貧血護理課件
- 左美馬嗪行業深度研究分析報告(2024-2030版)
- 旅游景區船舶管理制度
- 腦機接口硬件優化-洞察及研究
- 2025年山東省中考數學試卷真題及答案詳解(精校打印)
- 2025至2030年中國有源相控陣雷達行業市場發展態勢及前景戰略研判報告
評論
0/150
提交評論