实现统计十个同学成绩的各分数段人数 100分为一个分数段 其余每十分为一个分数段
时间: 2024-05-10 12:20:34 浏览: 135
假设十个同学的成绩如下:
85, 70, 92, 60, 78, 98, 87, 65, 80, 88
我们可以按照以下方法统计各分数段人数:
1. 创建一个长度为11的列表,用于保存各分数段人数,初始值全部设置为0。
2. 遍历十个同学的成绩,对于每个成绩,根据它所属的分数段,将相应的列表元素加1。
3. 输出各分数段人数。
代码演示如下:
```
# 成绩列表
scores = [85, 70, 92, 60, 78, 98, 87, 65, 80, 88]
# 分数段人数列表,初始值全部为0
count_list = [0] * 11
# 遍历成绩列表,统计各分数段人数
for score in scores:
if score == 100:
count_list[10] += 1
else:
count_list[score // 10] += 1
# 输出各分数段人数
for i in range(11):
if i == 10:
print("100分:", count_list[i])
else:
print("{}~{}分:".format(i*10, i*10+9), count_list[i])
```
输出结果如下:
```
60~69分: 2
70~79分: 2
80~89分: 4
90~99分: 2
100分: 0
```
相关问题
实现统计十个同学成绩的各分数段人数 100分为一个分数段 其余每十分为一个分数段用c语言写一个
#include <stdio.h>
int main() {
int scores[10]; // 存储十个同学的成绩
int count[11] = {0}; // 存储各分数段人数,共有11个分数段,初始化为0
// 输入十个同学的成绩
for (int i = 0; i < 10; i++) {
printf("请输入第%d个同学的成绩:", i+1);
scanf("%d", &scores[i]);
}
// 统计各分数段人数
for (int i = 0; i < 10; i++) {
int score = scores[i];
int index = score / 10; // 计算该成绩所在的分数段编号
if (index >= 10) { // 100分为一个分数段,需要特殊处理
index = 9;
}
count[index]++; // 对应分数段人数加1
}
// 输出各分数段人数
printf("各分数段人数如下:\n");
printf("100分: %d人\n", count[9]);
for (int i = 8; i >= 0; i--) {
printf("%d ~ %d分: %d人\n", i*10, i*10+9, count[i]);
}
return 0;
}
用c语言做一个代码,输入一批学生(人数不超过100)的成绩,以10分为一个分数段,统计各分数段学生人数。输入形式:成绩以-1作为结束标志。输出形式:输出分数段的人数,没有人数的分数段不显示。
```c
#include <stdio.h>
int main() {
int scores[11] = {0}; // 定义存放各分数段人数的数组,初始值全部设置为0
int score;
printf("请输入学生成绩(以-1作为结束标志):\n");
do {
scanf("%d", &score);
if (score >= 0 && score <= 100) { // 判断输入的成绩是否合法
scores[score / 10]++; // 将对应分数段的人数加1
}
} while (score != -1);
printf("各分数段学生人数如下:\n");
for (int i = 0; i < 11; i++) {
if (scores[i] != 0) { // 判断该分数段是否有人数
printf("%d-%d分: %d\n", i * 10, i * 10 + 9, scores[i]); // 输出该分数段的人数
}
}
return 0;
}
```
阅读全文