C语言编程题及问题详解

上传人:M****1 文档编号:444694511 上传时间:2024-01-12 格式:DOC 页数:18 大小:64KB
返回 下载 相关 举报
C语言编程题及问题详解_第1页
第1页 / 共18页
C语言编程题及问题详解_第2页
第2页 / 共18页
C语言编程题及问题详解_第3页
第3页 / 共18页
C语言编程题及问题详解_第4页
第4页 / 共18页
C语言编程题及问题详解_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《C语言编程题及问题详解》由会员分享,可在线阅读,更多相关《C语言编程题及问题详解(18页珍藏版)》请在金锄头文库上搜索。

1、wordC语言编程题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均为一位数,例如: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

2、); else1 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;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

3、=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; printf(sum=%f,sum); 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;

4、if (k!=i)t=ak;ak=aj;aj=t; #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之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153153 ,则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

5、;k+)if(i*i*i+j*j*j+k*k*k=100*i+10*j+k)printf(%d%d%dn,i,j,k);程序:main()int m,i,j,k,a;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的整数倍数。若是则输出yes;否则输出no。10(*)已有函数调用语句c=add(a,b);请编写aad函数,计算两个实数a和b的和,并返回和值。11(*)有人想将手中一面值100元的人民币换成5元、1元

6、、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,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

7、,&a,&n);for(i=1;i=n;i+)程序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); sum+=a*c;b*=10;c+=b;printf(%ld,sum);程序2:main() long int sn=0,k=0;int a,i,j; 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(*)编程输

8、出如下图形(不能仅用printf语句): * * * * * * * * * * * * * * * * * * * * * * *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.hmain()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+

9、sum;printf(%fn,e); 15(*)请编程,用scanf()函数输入三个字符,对这三个字符各加一个整数1后,用putchar()函数输出,且每输出一个字符换一行。16(*)请编程,用scanf()函数输入三个整数,输出其中不大不小的那个数,输出宽度为五位。int findmid(int i,int j,int k)int n;5if(ij)n=i;i=j;j=n;if(ik) 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、3、4、5、6、7(分别对应星期一至星期日)中的任何一个数,便能输出与之对应的英文名称。如输入1,则输出Monday。main()char day;scanf(%c,&day);swith(day)case 1:printf( mondayn);break; case 2:printf(tuesdayn); brea

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号