输入若干学生成绩,以负数结束输入。计算所有学生的平均成绩并统计成绩在80到90分(不含90)之间的人数。
时间: 2023-04-29 09:06:07 浏览: 155
题目要求输入若干学生成绩,以负数结尾。计算所有学生的平均成绩并统计成绩在80分到90分(不包含90)之间的人数。
解题思路:
1. 定义一个列表用于保存所有学生的成绩。
2. 使用while循环读取输入,判断输入是否为负数,如果是,则跳出循环,不是则添加到成绩列表中。
3. 计算平均成绩,可以使用sum函数求和,再除以成绩列表的长度。
4. 统计80到90分之间的人数,可以使用循环遍历成绩列表,判断每个成绩是否在80到90分之间,如果是则人数加1。
5. 输出平均成绩和80到90分之间的人数。
代码如下:
scores = []
score = float(input("请输入学生成绩:"))
while score >= 0:
scores.append(score)
score = float(input("请输入学生成绩:"))
average = sum(scores) / len(scores)
count = 0
for s in scores:
if 80 <= s < 90:
count += 1
print("所有学生的平均成绩为:{:.2f}".format(average))
print("80分到90分之间的人数为:{}".format(count))
相关问题
输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数结束输入
```python
scores = [] # 存储学生成绩的列表
while True:
score = int(input("请输入学生成绩:"))
if score < 0: # 输入负数结束输入
break
scores.append(score) # 将成绩添加到列表中
if len(scores) == 0: # 如果没有输入任何成绩,直接退出
print("没有输入任何成绩")
else:
print("最高成绩为:", max(scores))
print("最低成绩为:", min(scores))
```
运行结果举例:
```
请输入学生成绩:98
请输入学生成绩:85
请输入学生成绩:72
请输入学生成绩:90
请输入学生成绩:-1
最高成绩为: 98
最低成绩为: 72
```
从键盘上输入若干学生的成绩,计算平均分并输出最高成绩和最低成绩,当输入负数时结束
可以使用while循环语句实现该功能。首先需要定义一个计数器count和一个累加器sum,用于统计输入的成绩个数和总成绩。同时也需要定义一个变量max和min,用于记录最高分和最低分。当输入的成绩小于0时,循环结束,计算平均分并输出最高分和最低分。
代码如下:
```
#include <stdio.h>
int main() {
float score, max, min, sum = 0;
int count = 0;
scanf("%f", &score);
max = min = score;
while (score >= 0) {
count++;
sum += score;
if (score > max) {
max = score;
}
if (score < min) {
min = score;
}
scanf("%f", &score);
}
if (count > 0) {
printf("平均分为:%.2f\n最高成绩为:%.2f\n最低成绩为:%.2f\n", sum / count, max, min);
} else {
printf("未输入成绩\n");
}
return 0;
}
```