C语言编程题及答案_0.doc
文本预览下载声明
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
显示全部