实验3(答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验3:
1、常见预定义的转义字符对输出的控制作用。(文件名:3-1.c)
#include
V oid main()
{
int a,b,c;
a=5,b=6,c=7;
/* 打印一个标尺以便检查输出结果*/
printf("12345678123456781234567812345678\n");
/* 打印1个字符串*/
printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);
/* 打印一个文件名*/
printf("c:\\a.txt");
printf("\n");
}
注意:仔细观察输出结果,分析结果是否正确,理解各个转义字符的作用并加以掌握。
运行结果:
2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算机结果,输出要求有文字说明,pi取值3.1415926,结果保留2位小数。(文件名:3-2.c) 提示:半径和高都是用scanf函数输入,不能在程序中直接赋值
圆周长=2*pi*r 圆面积=pi*r*r 圆球表面积=4*pi*r*r
圆周长=9.42 圆面积=7.07 圆球表面积=28.27
圆球体积=14.14 圆柱体积=21.21
程序为:
#include
void main ()
{
float h,r,l,s,sq,vq,vz;
float pi=3.1415926;
printf("请输入圆半径r,圆柱高h∶");
scanf("%f,%f",&r,&h); //要求输入圆半径r和圆柱高h l=2*pi*r; //计算圆周长l
s=r*r*pi; //计算圆面积s
sq=4*pi*r*r; //计算圆球表面积sq
vq=4.0/3.0*pi*r*r*r; //计算圆球体积vq
vz=pi*r*r*h; //计算圆柱体积vz
printf("圆周长为: l=%6.2f\n",l);
printf("圆面积为: s=%6.2f\n",s);
printf("圆球表面积为: sq=%6.2f\n",sq);
printf("圆球体积为: v=%6.2f\n",vq);
printf("圆柱体积为: vz=%6.2f\n",vz);
}
3、键盘接收四个字符,要求输入的数据是小写字母,将输入的小写字母转换为大写字母,最后输出处理后的字符。(文件名3-3.c)提示:小写转大写,将小写的AscII码值减去32即可
#include
void main()
{
char a,b,c,d;
scanf("%c,%c,%c,%c",&a,&b,&c,&d);
printf("输入的四个字符是:\n");
printf("a=%c,b=%c,c=%c,d=%c\n",a,b,c,d);
a=a-32;
b=b-32;
c=c-32;
d=d-32;
printf("转换之后的结果是:\n");
printf("a=%c,b=%c,c=%c,d=%c\n",a,b,c,d); }
4、输入一个华氏温度,要求输出摄氏温度。公式为)32(9
5-=F c ,其中F 表示华氏温度,c 表示摄氏温度。(文件名3-4.c )
提示:测试值,如果输入的摄氏温度为56,则输出为13.33 #include
void main()
{
float c,f;
printf("请输入一个华氏温度:");
scanf("%f",&f);
c=(5.0/9.0)*(f-32); /*注意5和9要用实型表示,否则5/9值为0*/
printf("摄氏温度为:%5.2f\n",c); }
5、程序改错题: (要求文件名::3-5.c )
main
{
double a,b,c,s,v;
printf(input a,b,c:\n);
scanf("%d %d %d",a,b,c);
S=a*b;
V=a*b*c;
printf("%d %d %d",a,b,c);
printf("s=%f\n",s,"v=%d\n",v);
}
输出:
input a,b,c; 输出
2.0 2.0
3.0 用户输入
a=2.000000,b=2.000000,c=3.000000 输出形式s=4.000000,v=12.000000 输出形式修改后的程序为:
#include
main()
{
float a,b,c,s,v;
printf("input a,b,c:\n");
scanf("%f %f %f",&a,&b,&c);
s=a*b;
v=a*b*c;
printf("a=%f,b=%f,c=%f\n",a,b,c);
printf("s=%f,v=%f\n",s,v);
}
6.(1)输入以下程序代码:(3-6.c)
#include
void main()
{
char ch1,ch2,ch3;
scanf("%c%c%c",&ch1,&ch2,&ch3);
printf("%d,%d,%d\n",ch1,ch2,ch3);
}
运行程序,先在屏幕中输入ABC回车,查看运行结果,然后重新执行程序,在屏幕中输入A空格B空格C回车,分析运行结果和上一个有什么不同。
运行结果:(输入ABC)
输入A空格B空格C回车
分析:当按照%c字符型输入时,空格也会当做输入的字符,因为%c 是输入单个字符,当输入ABC时,中间即使没有分隔符,系统自动会把第一个字符A送给ch1,按照十进制%d输出ch1就为65,第二个字符B送给ch2,按照十进制%d输出ch2就为66,C送给ch3,按照十进制%d输出ch2就为67,而第二次输入时,也是把A送给