一些个人的理解:
- 专题3-1语法结构图中,关于语句数量的判断,主要是看主干是否有语句。
3-1
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
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-2代码清单3-9最后的else变为else if(n<0),结果会怎样。
还是能正常运行。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int no;
printf("请输入一个整数。");
scanf("%d", &no);
if (no == 0)
puts("该整数为0。");
else if (no > 0)
puts("该整数为正数。");
else if (no < 0)
puts("该整数为负数。");
return 0;
}
3-3
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (num == 0)
puts("绝对值是0。");
else if (num > 0)
printf("绝对值是%d。", num);
else if(num < 0)
printf("绝对值是%d。", -num);
return 0;
}
3-4
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int a, b;
puts("请输入两个整数。");
printf("整数A:"); scanf("%d", &a);
printf("整数B:"); scanf("%d", &b);
if (a==b)
puts("A和B相等。");
else if (a>b)
puts("A大于B。");
else if (a<b)
puts("A小于B。");
return 0;
}
3-5
??
3-6
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int a, b, c, min;
puts("请输入三个整数。");
printf("整数1:"); scanf("%d", &a);
printf("整数2:"); scanf("%d", &b);
printf("整数3:"); scanf("%d", &c);
min = a;
if (b < min)min = b;
if (c < min)min = c;
printf("最小值是%d。\n", min);
return 0;
}
3-7
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int a, b, c,d, max;
puts("请输入三个整数。");
printf("整数1:"); scanf("%d", &a);
printf("整数2:"); scanf("%d", &b);
printf("整数3:"); scanf("%d", &c);
printf("整数4:"); scanf("%d", &d);
max = a;
if (b > max)max = b;
if (c > max)max = c;
if (d > max)max = d;
printf("最大值是%d。\n",max);
return 0;
}
3-8
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int n1, n2;
puts("请输入两个整数。");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);
if (n1 < n2)
printf("他们的差是%d。\n", n2 - n1);
else
printf("他们的差是%d。\n", n1 - n2);
return 0;
}
3-9
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int a, b, c;
puts("请输入三个整数。");
printf("整数1:"); scanf("%d", &a);
printf("整数2:"); scanf("%d", &b);
printf("整数3:"); scanf("%d", &c);
if (b < a)
if (c < b)
printf("最小值是%d。\n", c);
else
printf("最小值是%d。\n", b);
else if (c<a)
printf("最小值是%d。\n", c);
else
printf("最小值是%d。\n", a);
return 0;
}
3-10
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
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 && a == c)
puts("三个值都相等。");
else if (a==b||b==c||c==a)
printf("有两个值相等。");
else
printf("三个值各不同。");
return 0;
}
3-11
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int a, b;
puts("请输入两个整数。");
printf("整数A:"); scanf("%d", &a);
printf("整数B:"); scanf("%d", &b);
if ((a - b) <= 10 && (a - b) >= -10)
printf("它们的差小于等于10。");
else
puts("它们的差大于等于11。");
return 0;
}
3-12
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main(void)
{
int no;
printf("请输入一个整数:");
scanf("%d",&no);
switch(no%2){
case 0 : puts("该整数是偶数。"); break;
default: puts("该数是奇数。");
}
return 0;
}
3-13
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int month;
printf("请输入月份:");
scanf("%d", &month);
switch (month) {
case 3:
case 4:
case 5:printf("%d月是春季。\n", month); break;
case 6:
case 7:
case 8:printf("%d月是夏季。\n", month); break;
case 9:
case 10:
case 11:printf("%d月是秋季。\n", month); break;
case 12:
case 1:
case 2:printf("%d月是冬季。\n", month); break;
default:printf("%d月不存在!\a\n", month);
}
return 0;
}