【问题描述】 从键盘输入5名学生的百分制成绩,统计各个分数段的人数,然后根据输入指定分数段查询该分数段的人数。 分数段的定义如下: 第1段:成绩大于等于90分; 第2段:成绩大于等于80,且小于90; 第3段:成绩大于等于70,且小于80; 第4段:成绩大于等于60,且小于70; 第5段:成绩小于60; 备注:学生的成绩,以及所要查询的分数段均从键盘输入。用C语言
时间: 2023-08-31 15:41:24 浏览: 149
好的,我来解答你的问题。以下是用C语言编写的程序:
```c
#include <stdio.h>
int main() {
int scores[5];
int count[5] = {0, 0, 0, 0, 0};
int query;
printf("请输入5名学生的成绩:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &scores[i]);
if (scores[i] >= 90) {
count[0]++;
} else if (scores[i] >= 80) {
count[1]++;
} else if (scores[i] >= 70) {
count[2]++;
} else if (scores[i] >= 60) {
count[3]++;
} else {
count[4]++;
}
}
printf("各个分数段的人数如下:\n");
printf("90分及以上:%d人\n", count[0]);
printf("80分至89分:%d人\n", count[1]);
printf("70分至79分:%d人\n", count[2]);
printf("60分至69分:%d人\n", count[3]);
printf("60分以下:%d人\n", count[4]);
printf("请输入要查询的分数段:");
scanf("%d", &query);
switch (query) {
case 1:
printf("90分及以上的人数为:%d人", count[0]);
break;
case 2:
printf("80分至89分的人数为:%d人", count[1]);
break;
case 3:
printf("70分至79分的人数为:%d人", count[2]);
break;
case 4:
printf("60分至69分的人数为:%d人", count[3]);
break;
case 5:
printf("60分以下的人数为:%d人", count[4]);
break;
default:
printf("输入有误,请输入1-5之间的数字。");
}
return 0;
}
```
这个程序首先定义了一个整型数组 `scores`,用来存储输入的学生成绩。同时,定义了另一个整型数组 `count`,用来存储各个分数段的人数。然后,通过一个 `for` 循环依次读入5个学生成绩,并根据成绩的大小统计各个分数段的人数。最后,输出各个分数段的人数,并提示用户输入要查询的分数段。通过一个 `switch` 语句,根据用户的输入输出相应的人数,或者提示输入有误。
希望这个程序能够帮到你!
阅读全文