c语言习题参考答案(1)

更新时间:2023-06-09 22:29:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

c语言习题参考答案

第1题:从键盘输入10个正整数,求这10个整数中奇数的和。
#include<stdio.h>
int main()
{
int x,sum,i;
printf("请输入10个正整数:\n");
i=1;
sum=0;
do
{
printf("请输入第%d个正整数:",i);
scanf("%d",&x);
if(x>0)
{
i++;
printf("%d\n",x);
if(x%2==0)
sum=sum+x;
}
else printf("\a");
}
while(i<11);
printf("这10个整数中奇数的和sum=%d\n",sum);
return 0;
}
第2题:编程求10的阶乘。
#include<stdio.h>
int main()
{
int i,a;
a=1;
for(i=10;i>0;i--)
a*=i;
printf("10的阶乘:%d\n",a);
return 0;
}
第3题:有一函数

                                                                                                                                                       y=


写一程序,输入x值,输出y值。
#include<stdio.h>
int main()
{
float x,y;
printf("enter x:\n");
scanf("%f",&x);
if(x>1)
y=x;
else if(x<=0)
y=2*x-1;
else y=x+3;
printf("y=%f\n",y);
return 0;
}
第4题:输入一个三位数的正整数,要求以相反的顺序输出该数
#include<stdio.h>
int main()
{
int x,y,z,m;
printf("请输入3位正整数:\n");
scanf("%d",&x);printf("%d",x);
if(0<x<1000)
{
y=x/100;
z=(x-y*100)/10;
m=x-y*100-z*10;
printf("相反顺序输出:\n");
printf("%d%d%d\n",m,z,y);
}
else printf("\a");
return 0;
}
第5题:有三个整数a、b、c,由键盘输入,输出其中最小的数。
#include<stdio.h>
int main()
{
int a,b,c,m;
printf("请输入第1个整数a=");
scanf("%d",&a);
printf("请输入第2个整数b=");
scanf("%d",&b);
printf("请输入第3个整数c=");
scanf("%d",&c);
if(a<b)
m=a;
else
m=b;
if(m>c)
m=c;
printf("其中最小的数:");
printf("%d\n",m);
return 0;
}
第6题从键盘输入一个正整数,判断该整数是否为素数。
#include<stdio.h>
int main()
{
int n,k,m;
m=0;
printf("请输入n=");
scanf("%d",&n);
for(k=2;k<=n/2;k++)
if(n%k==0)
m++;
if(m>1)
printf("n=%d不是素数!\n",n);
else
printf("n=%d是素数!\n",n);
return 0;
}
第7题求1-3+5-7+…-99+101的值。
#include<stdio.h>
int main()
{
int i,fh,sum;
fh=1;sum=0;
for(i=1;i<102;i=i+2)
{
sum=sum+i*fh;
fh=fh*(-1);
}
printf("sum=%d\n",sum);
return 0;
}
第8题 SUM=1+1/2+2/3+3/4+…+99/100
#include<stdio.h>
int main()
{
float i,sum;
sum=1;
for(i=1;i<100;i++)
sum=sum+i/(i+1);
printf("s
um=%f\n",sum);
return 0;
}
第9题
从键盘输入10个正整数,求这10个整数中偶数的和。
#include<stdio.h>
int main()
{
int x,sum,i;
printf("请输入10个正整数:

c语言习题参考答案

\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<11);
printf("这10个整数中偶数的和sum=%d\n",sum);
return 0;
}
第10题
输出10-100以内的偶数,要求该偶数的两个数字不相同
#include<stdio.h>
int main()
{
int i,a,b;
printf("10-100以内的偶数,且偶数的两个数字不相同:\n");
for(i=10;i<101;i++)
if(i%2==0)
{
a=i/10;
b=i-a*10;
if(a!=b)
printf(" %d ",i);
}
return 0;
}
第11题从键盘输入一个整数,编程判断其奇偶性和正负性。
#include<stdio.h>
int main()
{
int x,sum,i;
printf("请输入一个整数:\n");
scanf("%d",&x);
if(x%2!=0)
printf("%d是奇数\n",x);
else printf("%d是偶数\n",x);
if(x>0)
printf("%d是正数\n",x);
else if(x<0) printf("%d是负数\n",x);
else printf("%d既不是正数也不是负数\n",x);
return 0;
}
第12题输出100以内能被3整除且至少有一位数字是5的所有整数
#include<stdio.h>
int main()
{
int a,b,c,d,i;
printf("输出100以内能被3整除且至少有一位数字是5的所有整数:\n");
for(i=1;i<=100;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(a==5||b==5||c==5)
if(i%3==0)
printf(" %d ",i);
}
printf("\n");
return 0;
}
第13题输入4个整数,要求按由小到大的顺序输出
#include<stdio.h>
int main()
{
int i,j,t,a[4];
printf("请输入4个整数:\n");
for(i=0;i<4;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<3;j++)
for(i=0;i<3-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("由小到大的排序:\n");
for(i=0;i<4;i++)
printf(" %d ",a[i]);
printf("\n");
return 0;
}
第14题有一分数序列:1/2,2/3,3/4,4/5…求出这个数列的前20项之和。
#include<stdio.h>
int main()
{
float i,sum;
sum=0;
for(i=1;i<=20;i++)
sum=sum+i/(i+1);
printf("sum=%f\n",sum);
return 0;
}
第15题在1~500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数
#include<stdio.h>
int main()
{
int i;
printf("在1~500中,能同时满足用3除余2,用5除余3,用7除余4的所有整数:\n");
for(i=1;i<=500;i++)
if(i%3==2)
if(i%5==3)
if(i%7==4)
printf(" %d ",i);
printf("\n");
return 0;
}
第16题
编写程序,求出在100到300之间的数,它们满足条件:三位数字之积为42,三位数字之和为12。
#include<stdio.h>
int main()
{
int i,a,b,c;
printf("在100到300之间的数,满足条件:三位数字之积为42,三位数字之和为12:\n");
for(i=100;i<=300;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(a*b*c==42&&a+b+c==12)
printf(" %d ",i);
}
pri
ntf("\n");
return 0;
}
第17题(同第9题)
第18题计算pai的近似值
#include<stdio.h>
int main()
{
float pai,pai1,i,fh;
fh=1;pai1=0;
for(i

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*

c语言习题参考答案

100)/10;
n=x-y*1000-z*100-m*10;
sum=pow(y,3)+pow(z,3)+pow(m,3)+pow(n,3);
if(x==sum)
printf(" %d ",x);
}
printf("\n");
return 0;
}
第30题输出1000以内能被7整除且至少有一位数字是3的所有整数
#include<stdio.h>
int main()
{
int a,b,c,d,i;
printf("输出1000以内能被7整除且至少有一位数字是3的所有整数:\n");
for(i=1;i<=1000;i++)
{
a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
d=i-a*1000-b*100-c*10;
if(a==3||b==3||c==3||d==3)
if(i%7==0)
printf(" %d ",i);
}
printf("\n");
return 0;
}
第31题
#include<stdio.h>
int main()
{
int i,j,t,a[4];
printf("请输入4个整数:\n");
for(i=0;i<4;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<3;j++)
for(i=0;i<3-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("由大到小的排序:\n");
for(i=3;i>=0;i--)
printf(" %d ",a[i]);
printf("\n");
return 0;
}
第32题
#include<stdio.h>
int main()
{
float sum,i;
sum=0;
for(i=1;i<=20;i++)
sum=sum+i/(3*i-1);
printf("sum=%f\n",sum);
return 0;
}
第33题在1~1000中,能同时满足用4除余3,用5除余4,用7除余5的所有整数
#include<stdio.h>
int main()
{
int i;
printf("在1~1000中,能同时满足用4除余3,用5除余4,用7除余5的所有整数:\n");
for(i=1;i<=1000;i++)
if(i%4==3)
if(i%5==4)
if(i%7==5)
printf(" %d ",i);
printf("\n");
return 0;
}
第34题
#include<stdio.h>
int main()
{
int i,a,b,c;
printf("在100到300之间的数,满足条件:三位数字之积为45,三位数字之和为15:\n");
for(i=100;i<=300;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(a*b*c==45&&a+b+c==15)
printf(" %d ",i);
}
printf("\n");
return 0;
}
第35题(同15题)
第36题
#include<stdio.h>
int main()
{
int i,a,b,c;
printf("在100到300之间的数,满足条件:三位数字之积为48,三位数字之和为15:\n");
for(i=100;i<=300;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(a*b*c==48&&a+b+c==15)
printf(" %d ",i);
}
printf("\n");
return 0;
}
第37题输入10个数,输出其中最大的一个数
#include<stdio.h>
int main()
{
int i,j,t,a[10];
printf("请输入10个数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("最大的数:\n");
printf(" %d ",a[9]);
printf("\n");
return 0;
}
第38题(同28题)
第39题(同13题)
第40题
#include<stdio.h>
#include<math.h>
int main()
{
int x,y,z,m,sum;
printf("1-999之内所有的“水仙花数”:\n");
for(x=1;x<1000;x++)
{
y=x/100;
z=(x-y*100)/10;
m=x-y*100-z*10;
sum=pow(y,3)+pow(z,3)+pow(m,3);
if(x==sum)
pr
intf(" %d ",x);
}
printf("\n");
return 0;
}
第41题
#include<stdio.h>
int main()
{
char x;
printf("请输入一个字符

c语言习题参考答案

:");
scanf("%c",&x);
if('A'<=x&&x<='Z')
{
x=x+32;
printf("该字符是大写字母,转换为小写字母:\n");
printf("%c\n",x);
}
else
{
printf("该字符不是大写字母,输出为:\n");
printf("%c\n",x);
}
return 0;
}
第42题
#include<stdio.h>
int main()
{
char x;
printf("请输入一个大写字母:");
scanf("%c",&x);
if('A'<=x&&x<='Z')
{
x=x+32;
printf("该字符是大写字母,转换为小写字母:\n");
printf("%c\n",x);
}
else printf("该字符不是大写字母!\a\n");
return 0;
}
第43题
#include<stdio.h>
int main()
{
int i;
printf("1-500内不能被3整除的数:\n");
for(i=1;i<=500;i++)
if(i%3)
printf(" %d ",i);
printf("\n");
return 0;
}
第44题(同31题)
第45题
#include<stdio.h>
int main()
{
int i;
printf("请输入一个整数:");
scanf("%d",&i);
if(i%3==0&&i%5==0)
printf("能同时被3和5整除!");
else printf("不能同时被3和5整除!");
printf("\n");
return 0;
}
第46题
#include<stdio.h>
int main()
{
int i;
float x;
i=1;
do
{
printf("请输入第%d个学生的数学成绩:",i);
scanf("%f",&x);
if(x>=60)
printf("pass!\n");
else printf("Fail!\n");
i++;
}
while(i<6);
return 0;
}
第47题
#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)
sum=sum+x;
}
else printf("\a");
}
while(i<6);
printf("这5个整数中奇数的和sum=%d\n",sum);
return 0;
}
第48题(同第11题)
第49题(同第37题)
第50题
#include<stdio.h>
#include<string.h>
int main()
{
char a[80];int i;
printf("输入一个以回车结束的字符串(少于80个字符):\n");
gets(a);
i=strlen(a)-1;
printf("内容逆序输出:\n");
for(;i>=0;i--)
printf("%c\n",a[i]);
return 0;
}
第52题
#include<stdio.h>
int main()
{
int a,b,c,mix;
printf("请输入3个整数:\n");
scanf("%d%d%d",&a,&b,&c);
printf("a=%db=%dc=%d\n",a,b,c);
if(a>=b)
mix=b;
else mix=a;
printf("mix=%d\n",mix<=c?max:c);
return 0;
}
第53题(同第4题)
第54题
#include<stdio.h>
int main()
{
float salary,tax,rate;
printf("输入一个职工的月薪salary=");
scanf("%f",&salary);
rate=0.2;
if(salary<=850)
rate=0;
if(salary<=1350&&salary>850)
rate=0.05;
if(salary<=2850&&salary>1350)
rate=0.1;
if(salary<=5850&&salary>2850)
rate=0.15;
tax=rate*(salary-850);
printf("应交的个人所得税tax=%f",tax);
return 0;
}
第55题(同第46题)
第56题
#include<stdio.h>
int main()
{
float i,n,fh,m,sum;
printf("请输入一个正整数n:\n");
scanf("%f",&n);
sum=0;fh=1;m=1;
for(i=1;i<=n;i++)
{
sum=sum+
fh*1/m;
m+=3;
fh*=(-1);
}
printf("sum=%f\n",sum);
return 0;
}
第57题
#include<stdio.h>
int main()
{
float i,n,m,sum;
p

c语言习题参考答案

rintf("请输入一个正整数n:\n");
scanf("%f",&n);
sum=0;m=1;
for(i=1;i<=n;i++)
{
sum=sum+1/m;
m+=2;
}
printf("sum=%f\n",sum);
return 0;
}
第58题
#include<stdio.h>
int main()
{
int sum,i;
sum=0;
for(i=1;i<=100;i++)
sum=sum+i;
printf("sum=%d\n",sum);
return 0;
}
第59题
#include<stdio.h>
int main()
{
float num1,num2,he,cha,ji,shang;
printf("请输入一个整数num1:\n");
scanf("%f",&num1);
printf("请输入一个整数num2:\n");
scanf("%f",&num2);
he=num1+num2;
cha=num1-num2;
ji=num1*num2;
shang=num1/num2;
printf("它们的和:%f\n差:%f\n积:%f\n商:%f\n",he,cha,ji,shang);
return 0;
}
第60题
#include<stdio.h>
int main()
{
float c,f;
printf("请输入华
氏温度:");
scanf("%f",&f);
printf("\n");
c=5*(f-32)/9;
printf("对应的摄氏温度:%f\n",c);
return 0;
}





本文来源:https://www.bwwdw.com/article/ent1.html

Top