题目
2025级第一学期期末考试(问答题,10分)从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。
2025级第一学期期末考试
(问答题,10分)从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。
题目解答
答案
本题要求统计10个整数中正数、负数和零的数量。程序通过循环读取输入,利用`if-else`判断每个数的类别,并分别计数。最终输出三个计数结果。
完整代码如下:
```c
#include
int main() {
int i, num;
int positive = 0, negative = 0, zero = 0;
for (i = 0; i < 10; i++) {
scanf("%d", &num);
if (num > 0) positive++;
else if (num < 0) negative++;
else zero++;
}
printf("正数有:%d 个\n", positive);
printf("负数有:%d 个\n", negative);
printf("零有:%d 个\n", zero);
return 0;
}
```
解析
考查要点:本题主要考查循环结构和条件判断的综合应用,要求学生能够通过循环读取输入数据,并根据数值的正负性进行分类统计。
解题核心思路:
- 初始化计数器:分别定义变量记录正数、负数、零的个数。
- 循环读取输入:通过
for
循环读取10个整数。 - 条件判断分类:使用
if-else
语句判断每个数的正负性,并更新对应计数器。 - 输出结果:循环结束后,按格式输出统计结果。
关键点:
- 循环次数必须严格控制为10次。
- 条件判断顺序:先判断正数,再判断负数,最后处理零,避免逻辑错误。
步骤1:初始化变量
定义四个整型变量:
positive
、negative
、zero
分别记录正数、负数、零的个数,初始值为0。num
用于存储每次输入的整数。
步骤2:循环读取输入
使用for
循环运行10次,每次通过scanf
读取一个整数到num
。
步骤3:条件判断分类
- 若
num > 0
:正数计数器positive
加1。 - 否则若
num < 0
:负数计数器negative
加1。 - 否则(即
num == 0
):零的计数器zero
加1。
步骤4:输出结果
循环结束后,使用printf
分别输出三个计数器的值。