文档详情

C语言编程题及答案_0.doc

发布:2017-08-27约4.07万字共17页下载文档
文本预览下载声明
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;nlt;=20;n++) s=i/j,m=i,i=j,j=m+j,t=t+s; printf(quot;t=%fquot;,t); } 2.(*)从键盘输入一个字符串,再将其逆序输出。(如:输入abcde,输出edcba) main() {int i; char c[10]; scanf(quot;%squot;,c); for(i=9;igt;=0;i--) printf(quot;%cquot;,c[i]); } 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;alt;=9;a++) for(b=0;blt;=9;b++) for(c=1;clt;=9;c++) { x=100*a+10*b+c; y=100*c+10*b+a; if(x+y==1333) printf(quot;x=%d,y=%dquot;,x,y);} } 4.(*)利用海伦公式求三角形面积,三边长a,b,c由键盘输入。若输入的三边长不能构成 三角形,输出相应提示信息。海伦公式如下:其中s=(a+b+c)/2 三角形面积s*(s?a)*(s?b)*(s?c) main() { float a,b,c,s,area; scanf(quot;%f,%f,%fquot;,amp;a,amp;b,amp;c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); if(a+bgt;camp;amp;a+cgt;bamp;amp;b+cgt;a) printf(quot;area=%fquot;,area); else .1 . printf(quot;noquot;); } 5.(*)编程求出1!+2!+3!+?+8!+9!+10!的值并输出。 程序1: main() { int i,j; double p=1, sum=0; for(i=1;ilt;=10;i++) { for(j=1;jlt;=i;j++) p=p*i; sum=sum+p;p=1.0;} printf(quot;sum=%fquot;,sum); } 程序2:float fac(n) int n; {float f; if (nlt;0) printf(quot;nlt;0,error!quot;); 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;nlt;=4;n++) { h=fac(n); s=s+h;} printf(quot;s=1!+2!+...+10!=%d\nquot;,s); } 程序3: main() { int i; double p=1, sum=0; for(i=1;ilt;=10;i++) { p=p*i; sum=sum+p;} printf(quot;sum=%fquot;,sum); } .2 . 6.(*)从键盘输入两个整数,输出其和,差,积,商。 7.(**)输入若干个自然数,对奇数从大到小排序,对偶数从小到大排序,输出两种结果。 maxji(int a[],int n) { int i,j,k,t; for(i=0;ilt;n-1;i++) {k=i; for(j=i+1;jlt;n;j++) if(a[k]lt;a[j]) k=j; if (k!=i) {t=a[k];a[k]=a[j];a[j]=t;} }} #define N 10 main() {int c[N],i,j; for(i=0;ilt;N;i++) scanf(quot;%dquot;,amp;c[i]); maxji(c,N); for(i=N-1;igt;=0;i--) if(c[i]%2==0) printf(quot;%5dquot;,c[i]); printf(quot;\nquot;); for(i=0;ilt;N;i++) if(c[i]%2!=0) print
显示全部
相似文档