[实验题5-3]利用键盘随机输入若干个学生成绩(0~100分),然后分别统计0~59,60~79,80~100之间各有多 名学生。写出相应的程序代码。c语言
时间: 2024-10-21 11:13:58 浏览: 23
当然可以。在C语言中,我们可以使用循环结构、数组以及条件判断来实现这个功能。下面是一个简单的示例程序代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int total_students = 0; // 总学生数
int scores[3][101]; // 分数范围数组,每个数组表示一个分数段
printf("请输入学生的总人数: ");
scanf("%d", &total_students);
for (int i = 0; i < total_students; i++) {
int score;
printf("请输入第 %d 位学生的成绩: ", i + 1);
scanf("%d", &score);
// 分类统计
if (score >= 0 && score <= 59) {
scores[0][score]++;
} else if (score >= 60 && score <= 79) {
scores[1][score - 60]++;
} else if (score >= 80 && score <= 100) {
scores[2][score - 80]++;
}
}
// 输出各个分数段的学生数量
printf("\n0-59分之间的学生有: ");
for (int i = 0; i < 101; i++) {
if (scores[0][i] > 0) {
printf("%d人, ", scores[0][i]);
}
}
printf("\n");
printf("60-79分之间的学生有: ");
for (int i = 0; i < 21; i++) { // 60到79只有20个整数
if (scores[1][i] > 0) {
printf("%d人, ", scores[1][i]);
}
}
printf("\n");
printf("80-100分之间的学生有: ");
for (int i = 0; i < 21; i++) { // 类似60-79
if (scores[2][i] > 0) {
printf("%d人, ", scores[2][i]);
}
}
printf("\n");
return 0;
}
```
阅读全文