- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课后题编程答案
所有章节的课后习题的选择题和填空题大家必须熟练掌握,编程题掌握到第九章即可。希望大家通过课后的编程题熟悉典型的编程算法,掌握基本的编程思路,注意编程细节。
第3章
3-17 编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。
#includestdio.h
main()
{int h,m;
h=560/60;
m=560%60;
printf(“560分钟可转换成%d小时%d分钟”,h,m);
}
程序总结:
(1)只要在程序中用到系统提供的库函数,必须把库函数所在的头文件用#include命令包含进来。否则库函数的使用无效。输入输出库函数的头文件是:stdio.h;数学函数的头文件是: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第一个参数要尽量详细,这样可以提高输出结果的可读性,恰当好处的添加提示性信息,可以提高程序的质量。
(4)int h,m;变量起名要有艺术性,尽量做到见名知意。
3-18 编写程序,输入两个整数,1500和350,求出它们的商和余数并进行输出。
#includestdio.h
main()
{int a,b,m,n;
printf(“请输入两个整数:\n”);
scanf(“%d%d”,a,b);
m=a/b;
n=a%b;
printf(“%d除以%d商%d余%d”,a,b,m,n);
}
程序总结:
(1) printf(“请输入两个整数:\n”);这是一个提示信息,避免用户在看到黑屏后不知所措。
(2)scanf(“%d%d”,a,b); scanf的功能是用户要通过键盘输入数据,赋值给各输入项。注意每个输入项前面必须要加符号。%d与输入项的个数要一致,类型要匹配。%d与int一致,%f与float对应,%lf与double匹配,%c与char对应。
3-19 编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。
#includestdio.h
main()
{double a,b,c,x;
printf(“请输入三个双精度数:\n”);
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”,x);
}
程序总结:
(1) double a,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。
#includestdio.h
main()
{int a,b,c,t;
printf(“请输入三个整数:\n”);
scanf(“%d%d%d”,a,b,c);
printf(“交换之前:a=%d,b=%d,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(a30) m=1;
else if(a40) m=2;
else if(a50) m=3;
else if(a60) m=4;
else m=5;
#includestdio.h
main()
{ int a;
printf(“enter a(a100):\n);
scanf(“%d”,a);
printf(“a=%d\n”,a);
switch(a/10)
{ case 0:
case 1:
case 2:printf(“m=1\n”);break;
case 3: printf(“m=2\n”);break;
case 4: printf(“m=3\n”);break
文档评论(0)