c语言
本文由我今晚在哪里贡献
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
编程题
1.编写程序,求两个整数的最大公约数。 级) (1 #include main() { int a,b,temp,r; scanf("%d,%d",&a,&b); if(a0) { b=r; a=b; r=a%b; } printf("最大公约数为%d\n",b); return 0; } 2. 把输入的整数 (最多不超过 5 位) 按输入顺序的反方向输出, 例如, 输入数是 12345, (1 要求输出结果是 54321,编程实现此功能。 级) #include main() { long int x,z,m; int y,i=0; scanf("%ld",&x); m=x; while (m>0) { y=m%10; m=m/10; i=i+1; } if(i==1)
{ z=x; printf("%d",z); } if(i==2) { z=10*(x%10)+x/10; printf("%d",z); } if(i==3) { z=100*(x%10)+10*(x%100/10)+x/100; printf("%d",z); } if(i==4) { z=1000*(x%10)+100*(x%1000%100/10)+10*(x%1000/100)+x/1000; printf("%d",z); } if(i==5) { z=10000*(x%10)+1000*(x%10000%1000%100/10)+100*(x%10000%1000/100)+10*(x%10000/ 1000)+x/10000; printf("%d",z); } return 0; }
或者 #include main( ) { long a,b,c,d,e,x; scanf("%ld",&x); a=x/10000;/*分解出万位*/ b=x%10000/1000;/*分解出千位*/ c=x%1000/100;/*分解出百位*/ d=x%100/10;/*分解出十位*/ e=x%10;/*分解出个位*/ if(a!=0) printf("%ld%ld%ld%ld%ld\n",e,d,c,b,a);
else if (b!=0) printf("%ld%ld%ld%ld\n",e,d,c,b); else if (c!=0) printf("%ld%ld%ld\n",e,d,c); else if (d!=0) printf("%ld%ld\n",e,d); else if (e!=0) printf("%ld\n",e); return 0; }
3.中国古代数学家张丘建提出的“百鸡问题” :一只大公鸡值五个钱,一只母鸡值三个 钱,三个小鸡值一个钱。现在有 100 个钱, 要买 100 只鸡, 是否可以?若可以, 给出一个解, 要求三种鸡都有。请写出求解该问题的程序。 级) (1 #include main() { int x,y,z; for(x=1;x<20;x++) { for(y=1;y<33;y++) { for(z=1;z<300;z++) { if((x+y+z==100)&&(5*x+3*y+z/3==100)&&(z%3==0)) printf("x=%d,y=%d,z=%d\n",x,y,z); } } } return 0; }
4.求 100 ̄200 间的全部素数。 级) (1 #include main()
{ int i,j; for(i=100;i<=200;i++) { for(j=2;j main() { int i,j,k; for(i=0;i<=100;i++) { for(j=0;j<=50;j++) { for(k=0;k<=20;k++) { if(i+2*j+5*k==100) printf("一分%d,两分%d,五分%d\n",i,j,k); } } } return 0; } 6.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,……,编写程序求这个数列的前 20 项之和。 级) (1 #include
main() { int i,j,t; float term1,term2,term,sum; sum=0; term1=2; term2=1; for(i=1;i<=20;i++) { sum=sum+term1/term2; t=term1; term1=term1+term2; term2=t; } printf("%f\n",sum); return 0; }
7.编写程序,利用公式 e=1+1/1!+1/2!+1/3!+……+1/n!求出 e 的近似值,其中 n 的值由用 户输入(用于控制精确度)(1 级) 。 #include main() { int i; float e,term1,term; e=0; term=1; for(i=1;i<=10;i++) { term1=1/term; e=e+term1; term=term*i; } printf("e=%f",e); return 0; }
8. .一个数如果恰好等于它的因子之和 (除自身外) 则称该数为完全数, , 例如: 6=1+2+3, 6 就是完全数,请编写一程序,求出 1000 以内的整数中的所有完全数。其中 1000 由用户输 入。 级) (2 #include main() { int i,j,x,sum; for(i=2;i<1000;i++) { sum=0; for(j=1;j main() { int i,counter=0; for(i=2000;i<=3000;i++) { if((i%400==0)||(i%4==0&&i%100!=0)) { counter++; printf("%d\t",i); } } printf("\n%d\n",counter); return 0; }
10.请编写一程序,打印出九九乘法口诀表(例:1*1=1)(1 级) 。 #include main( ) { int i,j,k; for(i=1;i<=9;i++) { for(j=1;j<=9;j++) { k=i*j; printf("%4d",k); } printf("\n"); } return 0; }
11.请编写一程序,将所有“水仙花数”打印出来,并打印出其总数。 “水仙花数”是 一个其各位数的立方和等于该整数的三位数。(04 ̄05 第二学期试题) #inc