部分习题答案
第1章 C程序知识初步
答案略
第2章 基本数据类型及操作
#include 改成 #include
int celsius;fahr; 改成 float celsius,fahr;
printf(“fahr=d,celsius=%d\n”,fahr,celsius); 改成 printf(“fahr=%f,celsius=%f\n”,fahr,celsius);
(2)
printf("%d\n",m/n+a); 改成 printf("%f\n",m/n+a);
printf("%f\n",m%a+b); 改成 printf("%f\n",m%(int)a+b);
(3)下面程序中有两处错误,请查找并改正#include
void main ()
{ int m,n;
float a,b;
scanf("%d,%f",&m,&a);
scanf("%d,%f",&b,&n); 改成scanf("%f,%d",&b,&n);
printf("%f\n",m/n+a);
printf("%f\n",m%n+b) 改成 printf("%f\n",m%n+b);
}
5.阅读程序
(1)2
(2)
(3)程序的功能编程求华氏温度50°F 对应的摄氏温度#include
void main()
{ float celsius,fahr;
fahr=50;
celsius=5*(fahr-32)/9;
printf("fahr=%f,celsius=%f\n",fahr,celsius);
}
(2)编程从键盘输入一个数a,求它的平方并输出。#include
void main()
{ int a,b;
scanf("%d",&a);
b=a*a;
printf("a=%d,b=%d\n",a,b);
}
(3)定义三个int型变量x、y、z, 从键盘读入x、y,把x对y的余数赋给z,并输出结果。#include
void main()
{ int x,y,z;
scanf("%d%d",&x,&y);
z=x%y;
printf("%d对%d的余数为%d\n",x,y,z);
}
(4)定义两个整型变量并赋值,实现两个整型数的互换。#include
void main()
{ int x,y,t;
x=3; y=4;
t=x; x=y; y=t;
printf("x=%d,y=%d \n",x,y);
}
(5)当n为152时,编程分别求出n的个位数(digit1)、十位数(digit2)和百位数(digit3)。
第3章 结构程序设计}
3.分析下列程序,写出程序运行结果。
(1)123.456001 ** 123.46**123.456
???(2)#include
void main()
{ int a ,b,max;
scanf(“%d%d”,&a,&b);
if(a>b) max=a ;
else max=b ;
printf(“max=%d\n”,max) ;
}
如果输入3和4,则输出结果为max=4
(3)-1
(4)5
(5)a=2,b=1
4.改错题
(1)
scanf(“%c , %d , %d , %f ”,c , b , a , c ); 改成 scanf(“%c , %f , %d ”,&c , &b , &a );
printf(“%c , %d , %d , %f ”,c , b , a , c ); 改成 printf(“%c , %f , %d , %d ”,c , b , a , c );
(2)
if(x>y) x=y;y=x; 改成 if(x>y) { x=y;y=x; }
else x=x+1;y=y+1; 改成 else { x=x+1;y=y+1; }
5.编程题
(1)计算以下分段函数
输入一个整数,若为奇数则输出其平方根,否则输出其立方根。
#include
#include
void main()
{int t;
scanf("%d",&t);
if (t%2==1) printf("%d的平方根为%f",t,sqrt(t));
else printf("%d的立方根为%f",t,pow(t,1.0/3));
}
从键盘输入一个整数,判断该整数是否能同时被3和7整