2022年C语言编程题及答案电子教案.pdf
《2022年C语言编程题及答案电子教案.pdf》由会员分享,可在线阅读,更多相关《2022年C语言编程题及答案电子教案.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语 言 编 程 题 及 答 案精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 19 页 - - - - - - - - - - )(*)(*)(*csbsassC语言编程题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=0;i-) printf(%c,ci); 3 ( * ) 已 知 abc+cba=1333, 其 中a、 b、 c 均 为 一 位 数 , 例
2、 如 : 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;cc&a+cb&b+ca) printf(area=%f,area); else 1 printf(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
3、;p=1.0; printf(sum=%f,sum); 程序 2: float fac(n) int n; float f; if (n0) printf(n0,error!); else if(n=0|n=1) f=1; else f=fac(n-1)*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!=%dn,s); 程序 3: main() int i; double p=1, sum=0; for(i=1;i=10;i+) p=p*i; sum=sum+p; pr
4、intf(sum=%f,sum); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 19 页 - - - - - - - - - - 2 6( *)从键盘输入两个整数,输出其和,差,积,商。7( * )输入若干个自然数,对奇数从大到小排序,对偶数从小到大排序,输出两种结果。 maxji(int a,int n) int i,j,k,t; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(akaj) k=j; if (k!=i) t=ak;ak=aj;aj=t;
5、 #define N 10 main() int cN,i,j; for(i=0;i=0;i-) if(ci%2=0) printf(%5d,ci); printf(n); for(i=0;iN;i+) if(ci%2!=0) printf(%5d,ci); 8( *)求出0999 之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;15315 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
6、*j*j+k*k*k=100*i+10*j+k) printf(%d%d%dn,i,j,k); 程序: main() int m,i,j,k,a; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 19 页 - - - - - - - - - - for(m=101;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 的整数倍数
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=0; for(i=1;i19;i+) for(j=1;j95;j+) for(k=1;k94;k+) if(5*i+j+0.5*k=100&i+j+k=100) printf(%d,%d,%dn,i,j,k);n+; printf(%d,
8、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,&n); for(i=1;i=n;i+) sum+=a*c; b*=10;c+=b; printf(%ld,sum); 程序 2:main() long int sn=0,k=0; int a,i,j; 程序 3:main() long int sn=0,k=a; int a,i,j; scanf(%d,&a); for(
9、i=1;i=5;i+) k=10*k+a; sn=sn+k; printf(%ldn,sn); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 19 页 - - - - - - - - - - !21!31 scanf(%d,&a); for(i=1;i=5;i+) for(j=1;j=i;j+) k=10*k+a; 4 sn=sn+k; k=0; printf(%ldn,sn); 13( * )编程输出如下图形(不能仅用printf语句): * * * * * * * * * * * * *
10、 * * * * * * * * * * * * main() int i,k,j; for(i=0;i=4;i+) for(j=0;j4-i;j+) printf( ); for(k=0;k=2*i;k+) printf(*); printf(n); 14( * )用近似公式求自然对数的底e 的值。e1+1!+ + +#includemath.h main() float i,j,e,p=1.0,sum=0.0; for(i=1;i10 ;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(
11、* )请编程,用scanf()函数输入三个字符,对这三个字符各加一个整数1 后,用putchar()函数输出,且每输出一个字符换一行。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 19 页 - - - - - - - - - - 16( * )请编程,用scanf()函数输入三个整数,输出其中不大不小的那个数,输出宽度为五位。 int findmid(int i,int j,int k) int n; 5 if(ij) n=i;i=j;j=n; if(ik) n=j; else n=k; r
12、eturn(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、3、4、5、 6、7(分别对应星期一至星期日)中的任何一个数,便能输出与之对应的英文名称。如输入1,则输出Monday。 main() char day; scanf(%c,&day); swith(day) case 1:printf( mondayn);break; case 2:printf(tuesda
13、yn); break; case 3:printf(wednsdayn); break; case 4:printf(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, 6069 分为 D, 60 分以下为 E。(用switch语
14、句实现)。 main() int s,score; scanf(%d,&score); s=score/10; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 19 页 - - - - - - - - - - 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:
15、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,3 main() int m,i,s; for(m=2;m1000;m+) s=0; for(i=1; i
16、m ;i+) if(m%i=0) s=s+i; if (m=s) printf(%3d its factors are ,m); for(i=1;im;i+) if(m%i=0) printf(%4d,i); printf(n); 22(*)输入 5 对整数,请输出每对数中较大者 main() int i,j,a52; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 19 页 - - - - - - - - - - for(i=0;i=4;i+) for(j=0;j=1;j+) scanf(%
17、d,&aij); for(i=0;iai0) printf(%4dn,ai1); else printf(%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(j=0;j=2;j+) for(i=0;i=2;i+) printf(%5d,bij); prin
18、tf(“ n ” ); 24(*)求一个一维数组的最大值,最小值和平均值(主函数调用并输出)。程序 1:float max(int n,float a) int i; float max; max=a0; for(i=0;in;i+) if(maxai) max=ai; return(max); float min(int n,float a) 程序 2:main() void make(); int a10,i; extern int max,min; extern float aver; for(i=0;i10;i+) scanf(%d,&ai); make(a,10); printf(m
19、ax=%d,min=%d,aver=%.2f,max,min,aver); int max,min; float aver; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 19 页 - - - - - - - - - - int i; float min; min=a0; for(i=0;iai) min=ai; return(min); float aver(int n,float a) int i; float sum=0,aver; 7 for(i=0;in;i+) sum=sum+a
20、i; aver=sum/n; return(aver); #includemath.h main() int i; float m,n,a5,c; for(i=0;i5;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) #includemath.h main() int i,a5,m,n=0; scanf(%d,&m); for(i=0;i=4;i+) ai=m%10; n=n+ai
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 语言 编程 答案 电子 教案
限制150内