C语言程序设计教程 第五章 课后习题参考答案_基础教程课后习题答案
C语言程序设计教程 第五章 课后习题参考答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“基础教程课后习题答案”。
P124 2古典问题:兔子总数(斐波那契数列)#include int main(){ int f1=1,f2=1,f,i,k=0;printf(“%dt %dt”,f1,f2);k=k+2;for(i=3;i
f=f1+f2;
printf(“%dt”,f);
k++;
if(k%5==0)
printf(“n”);
f1=f2;
f2=f;} printf(“n”);return 0;}
P124 3统计一个整数的位数 #include int main(){ int n,k=0;printf(“请输入n的值:”);scanf(“%d”,&n);while(n){
n/=10;
k++;} printf(“%dn”,k);return 0;}
P124 4求逆序数 #include int main(){ int a,n;printf(“请输入一个整数:n”);scanf(“%d”,&a);while(a>0){
n=a%10;
printf(“%d”,n);
a=a/10;
} return 0;}
P124 5输出回文数 #include int main(){ int m,k=0;long int n,t;for(n=10;n
m=0;
t=n;
while(t>0)
{
m=m*10+t%10;
t=t/10;
}
if(n==m)
{
printf(“%dt”,n);
k++;
if(k%9==0)
printf(“n”);
} } printf(“n”);return 0;}
判断回文数
#include int main(){ int m=0;long int n,t;
} printf(“请输入一个整数:”);scanf(“%d”,&n);t=n;while(t>0){ m=m*10+t%10;t=t/10;} if(n==m)printf(“%d是回文数n”,n);else printf(“%d不是回文数n”,n);return 0;实验指导书
P33 1求奇偶数和 #include int main(){ int m=0,n=0,i=1,x;while(i
printf(“请输入第%d个整数x=”,i);scanf(“%d”,&x);if(x%2==0){
n=n+x;
i++;} else {
m=m+x;
i++;} } printf(“奇数之和m=%d,偶数之和n=%dn”,m,n);
m=0,n=0,i=1,x;do { printf(“请输入第%d个整数x=”,i);scanf(“%d”,&x);if(x%2==0){
n=n+x;
i++;} else {
m=m+x;
i++;} }while(i
m=0,n=0,i,x;for(i=1;i
printf(“请输入第%d个整数x=”,i);
scanf(“%d”,&x);
if(x%2==0)
{
n=n+x;
}
else
{
m=m+x;
} } printf(“奇数之和m=%d,偶数之和n=%dn”,m,n);
return 0;}
P33 3求e值 #include #include int main(){ int i;double m=1,e=1;for(i=1;i
m=m*1/i;
e=e+m;} printf(“e=%lfn”,e);
m=1,e=1,i=1;while(fabs(1/m)>=1e-7){
m=m*i;
e=e+1/m;
i++;} printf(“e=%lfn”,e);
m=1,e=1,i=1;do {
m=m*i;
e=e+1/m;
i++;}while(fabs(1/m)>=1e-7);printf(“e=%lfn”,e);
return 0;
P33 5求最大公约数和最小公倍数 #include int main(){ int t,x,y,r,m,n;
printf(“please input two numbers:”);scanf(“%d %d”,&x,&y);m=x*y;if(x
t=x;
x=y;
y=t;} while((r=x%y)!=0){
x=y;
y=r;} n=m/y;printf(“最大公约数%d:n”,y);printf(“最小公倍数%d:n”,n);return 0;
P38 2求第一个能被9整除且个位数是5的数 #include int main(){ int i;for(i=100;i
if(i%9==0&&i%10==5)
break;} printf(“第一个能被9整除且个位数是5的数为:n%dn”,i);return 0;}
P38 3百钱百鸡问题 #include int main(){ int x,y,z,i=0;for(x=1;x
{
} for(y=1;y
if((5*x+3*y+z/3==100)&&(x+y+z==100))
i++;} } printf(“共有%d种买法:n”,i);
x,y,z,i=0;
for(x=1;x
for(y=1;y
{
for(z=3;z
{
if((5*x+3*y+z/3==100)&&(x+y+z==100))
printf(“公鸡只数:%d,母鸡只数:%d,小鸡只数%dn”,x,y,z);
}
} }
return 0;}
P38 4
#include int main(){ int i=1;while(1){
i++;
if(i*i>=15)
{
printf(“%dn”,2*i-1);
break;
}
}
} return 0;