假设成绩范围为0-100,请编写一个程序,计算并显示以下情况的学生数量。程序应该是用尽可能少的if语句。 a. 得分大于80的学生数; b. 得分大于60的学生数; c. 得分大于40的学生数; d. 得分小于等于40的学生数; e. 得分在81~100的学生数; f. 得分在61-80的学生数; g. 得分在41-60的学生数; h. 得分在0-40的学生数。
时间: 2023-05-12 15:04:13 浏览: 174
以下是一个可能的程序:
```
#include <stdio.h>
int main() {
int score, count[8] = {0};
while (scanf("%d", &score) == 1) {
count[0] += score > 80;
count[1] += score > 60;
count[2] += score > 40;
count[3] += score <= 40;
count[4] += score >= 81 && score <= 100;
count[5] += score >= 61 && score <= 80;
count[6] += score >= 41 && score <= 60;
count[7] += score >= 0 && score <= 40;
}
printf("a. %d\n", count[0]);
printf("b. %d\n", count[1]);
printf("c. %d\n", count[2]);
printf("d. %d\n", count[3]);
printf("e. %d\n", count[4]);
printf("f. %d\n", count[5]);
printf("g. %d\n", count[6]);
printf("h. %d\n", count[7]);
return 0;
}
```
这个程序使用了一个数组 `count` 来记录每个情况下的学生数量,数组下标从0到7分别对应a到h。程序通过一个循环读入每个学生的成绩,并根据成绩更新 `count` 数组。最后程序输出每个情况下的学生数量。注意,这个程序没有使用任何 if 语句,而是使用了逻辑运算符和数组来实现。
阅读全文