C语言,输入学生成绩,各个成绩分段有多少人数
时间: 2023-06-15 10:07:06 浏览: 167
可以使用数组和循环来实现该功能,具体步骤如下:
1. 定义一个大小为11的数组,分别表示0~100分的成绩段人数。
2. 通过循环输入学生成绩,并根据成绩在哪个分段内,将对应分段的人数加1。
3. 最后遍历数组,输出每个分段的人数。
以下是示例代码:
```c
#include <stdio.h>
int main() {
int score, count[11] = {0}; // 定义数组并初始化为0,表示0~10、10~20、...、90~100分的人数
printf("请输入学生成绩(输入-1结束):\n");
while (1) {
scanf("%d", &score);
if (score == -1) break;
if (score < 0 || score > 100) {
printf("无效成绩,请重新输入:\n");
continue;
}
count[score / 10]++; // 根据成绩所在分段,将对应分段的人数加1
}
printf("各个成绩分段的人数如下:\n");
for (int i = 0; i < 11; i++) {
printf("%d~%d分段:%d人\n", i * 10, i * 10 + 9, count[i]);
}
return 0;
}
```
注意:以上代码中假设输入的所有成绩都是合法的,即在0~100分之间。如果需要考虑输入的成绩可能不合法的情况,可以在输入时进行判断并进行相应的处理。
阅读全文