2024年1月10日发(作者:)
何钦铭《C语言程序设计》(第3版)
课后习题参考答案
习题1
1.对 C 语言来说,下列标识符中哪些是合法的,哪些是不合法的?
total, _debug, Large&Tall, Counter1, begin_
解答:合法标识符:total, _debug, Counter1;不合法标识符:Large&Tall, begin_。
2.改写本章 1.4 节中的流程图 1.2,求 1~100 中能被 6 整除的所有整数的和。
解答:
3.改写本章 1.4 节中的程序,求 1~100 中能被 6 整除的所有整数的和,并在编程环境中验证该程序的运行结果。
解答:
#include
int main(void)
{
int i, sum = 0;
for(i = 1; i <= 100; i++)
if (i % 6 == 0)
sum = sum + i;
printf("%d", sum);
return 0;
}
4.对于给定的整数 n(n>1),请设计一个流程图判别 n 是否为一个素数(只能被 1 和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构与循环结构。
解答: 在流程图中,分支结构和循环结构如图 1.2 所示,自上而下的 2 个实线框和 2 个虚线组成了顺序结构。
习题2
1. 求整数均值:输入 4 个整数,计算并输出这些整数的和与平均值,其中平均值精确到小数点后 1 位。试编写相应程序。
解答:
#include
int main (void)
{
int num1, num2, num3, num4;
double average, sum;
scanf ("%d%d%d%d", & num1, & num2, & num3, & num4);
sum = num1+ num2+ num3 + num4;
average = sum / 4;
printf ("Sum = %.0f; Average = %.1fn", sum, average);
return 0;
}
2. 阶梯电价:为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量 50 千瓦时(含 50 千瓦时)以内的,电价为 0.53
元/千瓦时;超过 50 千瓦时的,超出部分的用电量,电价上调 0.05 元/千瓦时。输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。试编写相应程序。
解答:
#include
int main (void)
{
double cost, e;
scanf ("%lf", &e);
if(e < 0){
printf ("Invalid Value!n");
}
else{
if (e <= 50){
cost = 0.53 * e;
}
else{
cost = 0.53 * 50 + (e - 50) * 0.58;
}
printf ("cost = %.2fn", cost);
}
return 0;
}
解答:
#include
int main (void)
{
int i, m, n;
double sum;
scanf ("%d%d", &m, &n);
if (m > 0 && m <= n){
sum = 0;
for (i = m; i <= n; i++){
sum = sum + i * i + 1.0 / i;
}
printf ("sum = %.6fn", sum);
}
return 0;
}
解答:
#include
int main (void)
{
int flag, i, n;
double item, sum;
scanf ("%d", &n);
sum = 0;
flag = 1;
for (i = 1; i <= n; i++){
item = flag * 1.0 * i / (2 * i - 1);
sum = sum + item;
flag = -flag;
}
printf ("%.3fn", sum);
return 0;
}
解答:
#include
#include
int main (void)
{
int i,n;
double sum;
scanf ("%d",&n);
sum = 0;
for (i = 1; i <= n; i++){
sum = sum + sqrt(i);
}
printf ("sum = %.2fn", sum);
return 0;
}
解答:
#include
double fact (int n);
int main (void)
{
int i, n;
double sum;
scanf ("%d", &n);
if(n <= 12){
sum = 0;
for (i = 1; i <= n; i++){
sum = sum + fact (i);
}
printf ("%.0fn", sum);
}
return 0;
}
double fact (int n)
{
int i;
double product;
product=1;
for (i = 1; i <= n; i++)
product = product * i;
return product;
}
习题3
习题4
习题5
习题6
习题7
一、选择题
1
D
2
D
3
D
4
C
5
C
6
C
7
C
8
B
二、填空题
1、0
2、i=1 x[i-1]
3、-12
4、(1)2 (2)3
5、j>0 或者j>=1 i
6、a[j][i]!=a[i][j] found=1
习题8
习题9
习题10
习题11
习题12
发布者:admin,转转请注明出处:http://www.yc00.com/web/1704842791a1377610.html
评论列表(0条)