实验一:顺序结构编程练习
实验题目(1)【见实验教材实验一的题目1】:正确进入VS2010集成开发环境,建立一个单文件项目,项目名为:exp1_1,然后向该项目中以新建方式添加一个源文件,名为:exp1_1.c,完成:从键盘输入两个整数a和b,计算并输出他们的和sum、差difference、积product、商quotient和平均值ave(注意ave和商的定义类型)。
具体要求:
① 编辑、编译、连接并运行程序,观察运行结果。
② 观察exp1_1.obj、exp1_1.exe、exp1_1.c所在的文件夹。
③ 对变量quotient分别定义为int和double型,在printf函数中正确使用格式串,当读入的两个整数为4和5时,观察运行结果并分析原因,思考怎么使变量quotient更准确。
④ 对变量ave分别定义为int和double型,在printf函数中正确使用格式串,当读入的两个整数为4和5时,观察不同的运行结果并分析原因。
⑤ 单步跟踪程序(用F10键),观察每一步程序运行时各个变量的变化情况。
实验解答:
源程序代码如下:
#include <stdio.h>
int main()
{
int a,b,sum,difference,product;
double quotient,ave;
printf("Please input two integers:");
scanf("%d%d",&a,&b);
sum=a+b;
difference=a-b;
product=a*b;
quotient=(double)a/b;
ave=(a+b)/2.0;
printf("The sum is %d\n",sum);
printf("The difference is %d\n",difference);
printf("The product is %d\n",product);
printf("The quotient is %f\n",quotient);
printf("The ave is %f\n",ave);
return 0;
}
实验题目(2)【见实验教材实验一的题目3】:编程序exp1_3.c,实现两个整数a,b的交换,提示思考:我们在现实生活中,两杯水是怎么交换的。
实验解答:
源程序exp1_3.c的代码是:
#include <stdio.h>
int main()
{
int a,b,c;
printf("Please input a,b:");
scanf("%d%d",&a,&b);
c=a;
a=b;
b=c;
printf("a=%d\n",a);
printf("b=%d\n",b);
return 0;
}
实验题目(3)【见实验教材实验一的题目4】:编程序exp1_4.c,工厂给一圆柱体镀膜,每平方厘米造价10元,现从键盘上输入圆柱底面的半径radius(厘米)和圆柱的高height(厘米),求该圆柱体的表面积area(平方厘米)和所需费用,要求输出结果保留两位小数。
实验解答:
- 源程序exp1_4.c的代码是:
#include <stdio.h>
int main()
{
const double pi =3.14159;
double r,h;
printf("Please input radius(cm),height(cm):\n");
scanf("%lf%lf",&r,&h);
printf("area=%.2f\n",2*pi*r*r+2*pi*r*h);
printf("price=%.2f\n",20*pi*r*r+20*pi*r*h);
return 0;
}
实验题目(4)【见实验教材实验一的题目6】:编写程序exp1_6.c输入一个3位正整数,计算该数的逆序数,并输出。例如:输入789,输出987;
实验解答:源程序exp1_6.c的代码是:
#include <stdio.h>
int main()
{
int a,b,c,d,e;
printf("Please input 3 bits integers:\n");
scanf("%d",&a);
b=a/100;
c=(a/10)%10;
d=a-(a/10)*10;
e=d*100+c*10+b;
printf("%d",e);
return 0;
}