c语言习题参考答案
=1;1/i>=10*(-6);i+=2)
{
pai1=pai1+fh/i;
fh=fh*(-1);
}
pai=4*pai1;
printf("π≈%f\n",pai);
return 0;
}
第19题写一程序,输入x值,输出y值
#include<stdio.h>
int main()
{
float x,y;
printf("enter x:\n");
scanf("%f",&x);
if(x>5)
y=x;
else if(x<0)
y=2*x-1;
else y=x+3;
printf("y=%f\n",y);
return 0;
}
第20题输入一个四位数的正整数,要求以相反的顺序输出该数
#include<stdio.h>
int main()
{
int x,y,z,m,n;
printf("请输入4位正整数:\n");
scanf("%d",&x);printf("%d",x);
if(0<x<10000)
{
y=x/1000;
z=(x-y*1000)/100;
m=(x-y*1000-z*100)/10;
n=x-y*1000-z*100-m*10;
printf("相反顺序输出:\n");
printf("%d%d%d%d\n",n,m,z,y);
}
else printf("\a");
return 0;
}
第21题(同第7题)
第22题有三个整数a、b、c,由键盘输入,输出其中最大的数。
#include<stdio.h>
int main()
{
int a,b,c,max;
printf("请输入3个整数:\n");
scanf("%d%d%d",&a,&b,&c);
printf("a=%db=%dc=%d\n",a,b,c);
if(a<=b)
max=b;
else max=a;
printf("max=%d\n",max>=c?max:c);
return 0;
}
第23题(同第6题)
第24题求-1+3-5+7-…前100项的值
#include<stdio.h>
int main()
{
int sum1,sum2,sum,i.j;
sum1=0;sum2=0
for(i=1;i<=100;i++)
sum1=sum1+(2*i+1);
sum1=-1*sum1;
for(j=3,j<=100,j++)
sum2=sum2+(2*i+1);
sum=sum1+sum2;
printf("sum=%d\n",sum);
return 0;
}
第25题求下列算式前500项的值:
SUM=1-1/2+2/3-3/4+…
#include<stdio.h>
int main()
{
float sum,i,fh;
sum=1;fh=-1;
for(i=2;i<500;i++)
{
sum=sum+(i-1)/i*fh;
fh=fh*(-1);
}
printf("sum=%f\n",sum);
return 0;
}
第26题有一分数序列:1/2,2/3,3/4,4/5…求出这个数列的前20项之和
#include<stdio.h>
int main()
{
float sum,i;
sum=0;
for(i=1;i<=20;i++)
sum=sum+i/(i+1);
printf("sum=%f\n",sum);
return 0;
}
第27题10-100以内的奇数,且奇数的两个数字不相同
#include<stdio.h>
int main()
{
int i,a,b;
printf("10-100以内的奇数,且奇数的两个数字不相同:\n");
for(i=10;i<101;i++)
if(i%2)
{
a=i/10;
b=i-a*10;
if(a!=b)
printf(" %d ",i);
}
return 0;
}
第28题
输入5个正整数,求其中的偶数之和。
#include<stdio.h>
int main()
{
int x,sum,i;
printf("请输入5个正整数:\n");
i=1;
sum=0;
do
{
printf("请输入第%d个正整数:",i);
scanf("%d",&x);
if(x>0)
{
i++;
if(x%2==0)
sum=sum+x;
}
else printf("\a");
}
while(i<6);
printf("这5个整数中偶数的和sum=%d\n",sum);
return 0;
}
第29题
如果一个正整数等于其各个数字的立方和,则称该数字为阿姆斯特朗数,如:407=43+03+73。
试编程求出1000以内的所有阿姆斯特朗数,并输出。
#include<stdio.h>
#include<math.h>
int
main()
{
int x,y,z,m,n,sum;
printf("1000以内的所有阿姆斯特朗数:\n");
for(x=1;x<=1000;x++)
{
y=x/1000;
z=(x-y*1000)/100;
m=(x-y*1000-z*