资源描述:
《c语言课后题编程答案解析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言课后题编程答案所有章节的课后习题的选择题和填空题大家必须熟练掌握,编程题掌握到第九章即可。希望大家通过课后的编程题熟悉典型的编程算法,掌握基本的编程思路,注意编程细节。第3章3-17编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。#includemain(){inth,m;h=560/60;m=560%60;printf(“560分钟可转换成%d小时%d分钟”,h,m);}程序总结:(1)只要在程序中用到系统提供的库函数,必须把库函数所在的头文件用#include命令包含进来。否则库函数的使用无效。输入输出库函数的头文件是:stdio.h;数学函数的头
2、文件是:math.h;字符处理函数的头文件是:ctype.h;字符串处理函数的头文件是:string.h。(2)注意C语言中的“/”和“%”两种运算符。“/”的运算结果取决于两操作数的类型。比如:1/2=0(与数学中不同,结果与操作数的类型一致,所以结果只取商值),1.0/2=0.5(除之前2要自动类型转换成2.0,因为只有同类型的操作数才能进行除运算),1/2.0=0.5,1.0/2.0=0.5。“%”的两个操作数都必须是整数。(3)printf(“560分钟可转换成%d小时%d分钟”,h,m);printf第一个参数要尽量详细,这样可以提高输出结果的可读性,恰当好处的添加提示性信息,
3、可以提高程序的质量。(4)inth,m;变量起名要有艺术性,尽量做到见名知意。3-18编写程序,输入两个整数,1500和350,求出它们的商和余数并进行输出。#includemain(){inta,b,m,n;printf(“请输入两个整数:”);scanf(“%d%d”,&a,&b);m=a/b;n=a%b;printf(“%d除以%d商%d余%d”,a,b,m,n);}程序总结:(1)printf(“请输入两个整数:”);这是一个提示信息,避免用户在看到黑屏后不知所措。(2)scanf(“%d%d”,&a,&b);scanf的功能是用户要通过键盘输入数据,赋
4、值给各输入项。注意每个输入项前面必须要加&符号。%d与输入项的个数要一致,类型要匹配。%d与int一致,%f与float对应,%lf与double匹配,%c与char对应。3-19编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。#includemain(){doublea,b,c,x;printf(“请输入三个双精度数:”);scanf(“%lf%lf%lf”,&a,&b,&c);x=(a+b+c)/3;x=x*10;x=x+0.5;x=(int)x;x=x/10;printf(“x=%.1lf”
5、,x);}程序总结:(1)doublea,b,c,x;和scanf(“%lf%lf%lf”,&a,&b,&c);有直接联系,%lf与输入项a,b,c在定义时所用的类型double一致。(2)%.1lf,.1的意思是结果仅保留小数点后一位小数。3-20编写程序,读入三个整数给a、b、c,然后交换他们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a,然后输出a,b,c。#includemain(){inta,b,c,t;printf(“请输入三个整数:”);scanf(“%d%d%d”,&a,&b,&c);printf(“交换之前:a=%d,b=%d,
6、c=%d”,a,b,c);t=a;a=c;c=b;b=t;printf(“交换之后:a=%d,b=%d,c=%d”,a,b,c);}程序总结:交换两个变量的值和三个变量的值,都需要借助另外一个变量。第4章4-21若a的值小于100,请将以下选择结构改写成由switch语句构成的选择结构。if(a<30)m=1;elseif(a<40)m=2;elseif(a<50)m=3;elseif(a<60)m=4;elsem=5;#includemain(){inta;printf(“entera(a<100):”);scanf(“%d”,&a);printf(“a=%d
7、”,a);switch(a/10){case0:case1:case2:printf(“m=1”);break;case3:printf(“m=2”);break;case4:printf(“m=3”);break;case5:printf(“m=4”);break;default:printf(“m=5”);}}程序总结:(1)选择结构的实现除了使用if语句以外,还可以使用switch语句来实现。(1)swit