2016年9月20日至2016年11月12日,从学校图书馆借来的《明解c语言》看完了。
大三第一个学期,前8周,有c语言程序设计的课。课本是学校里的老师编写出版的,为了压缩空间,减少页面,书中的代码都挤成了一团,一点儿美感都没有。课后习题的参考代码输入电脑后,运行错误,仔细看一遍,是最基本的逻辑问题,最最不应该出现的错误。再加上授课老师的教法未得我心。
因此,这8周来,都是课上睡觉,课下《明解c语言》。书中的每一行代码都被我敲进过电脑,前8章的练习也依次做过。第9、10、11、12、13章,为赶时间,跟上学校课程的进度,便只敲了代码来回看了几遍,未做练习。
下下周c语言考试,基础知识已经过了一遍。而备考,则靠做课本上的习题吧。
以下,是我所做的《明解c语言》前8章的练习答案。答案不全,只是将个人觉得有点动脑儿的代码给存了下来。
练习2-1:
#include
int main()
{
int n1, n2;
puts("请输入两个整数:");
printf("整数A:"); scanf("%d", &n1);
printf("整数B:"); scanf("%d", &n2);
printf("A的值是B的值的%d%%\n", (n1*100)/n2);
}
练习2-5:
#include
int main()
{
int n1, n2;
puts("请输入两个整数:");
printf("整数A:"); scanf("%d", &n1);
printf("整数B:"); scanf("%d", &n2);
printf("A是B的%f%%。\n", (double) (n1*100) / n2);
return 0;
}
练习3-1:
#include
int main()
{
int a, b;
puts("请输入两个整数。");
printf("整数A:"); scanf("%d", &a);
printf("整数B:"); scanf("%d", &b);
if (a % b)
puts("B不是A的约数。");
else
puts("B是A的约数。");
return 0;
}
练习3-3:
#include
int main()
{
int n1;
printf("请输入一个整数:");
scanf("%d", &n1);
if (n1 >= 0)
printf("绝对值是%d。\n", n1);
else
printf("绝对值是%d。\n", -n1);
return 0;
}
练习3-8:
#include
int main()
{
int a, b, c, min;
puts("请输入3个整数。");
printf("整数A:"); scanf("%d", &a);
printf("整数B:"); scanf("%d", &b);
printf("整数C:"); scanf("%d", &c);
min = a;
min = b < min ? b : min;
min = c < min ? c : min;
printf("最小值是%d。\n", min);
return 0;
}
练习3-9:
#include
int main(void)
{
int a, b, c;
puts("请输入三个整数。");
printf("整数A:"); scanf("%d", &a);
printf("整数B:"); scanf("%d", &b);
printf("整数C:"); scanf("%d", &c);
if (a == b == c)
puts("三个值都相等。");
else if (a == b || a == c || b == c)
puts("有两个值相等。");
else
puts("三个值各不相同。");
return 0;
}
练习3-11:
#include
int main(void)
{
int no;
printf("请输入一个整数:");
scanf("%d", &no);
switch (no % 2) {
case 0 : puts("该整数是偶数。"); break;
default : puts("该整数是奇数。"); break;
}
return 0;
}
练习3-12:
#include
int main(void)
{
int month;
printf("请输入月份:");
scanf("%d", &month);
switch (month) {
case 3 : puts("是春天。"); break;
case 4 : puts("是春天。"); break;
case 5 : puts("是春天。"); break;
case 6 : puts("是夏天。"); break;
case 7 : puts("是夏天。"); break;
case 8 : puts("是夏天。"); break;
case 9 : puts("是秋天。"); break;
case 10 : puts("是秋天。"); break;
case 11 : puts("是秋天。"); break;
case 12 : puts("是冬天。"); break;
case 1 : puts("是冬天。"); break;
case 2 : puts("是冬天。"); break;
default : puts("输入的月份不存在!!\a"); break;
}
return 0;
}
练习4-1:
#include
int main()
{
int num1;
int num2;
do {