编写程序,通过键盘输入若干个成绩(0-100分),当输入-1时,结束输入。计算及格成绩的平均值和不及格成绩的平均值,并分别输出。要求:使用列表记录输入的成绩
时间: 2024-05-25 08:17:55 浏览: 17
scores = []
while True:
score = int(input("请输入成绩(0-100),输入-1结束:"))
if score == -1:
break
scores.append(score)
pass_scores = []
fail_scores = []
for score in scores:
if score >= 60:
pass_scores.append(score)
else:
fail_scores.append(score)
if len(pass_scores) > 0:
pass_avg = sum(pass_scores) / len(pass_scores)
print("及格成绩的平均值为:", pass_avg)
else:
print("没有及格成绩")
if len(fail_scores) > 0:
fail_avg = sum(fail_scores) / len(fail_scores)
print("不及格成绩的平均值为:", fail_avg)
else:
print("没有不及格成绩")
相关问题
用C语言编写一个从键盘输入若干个学生的成绩,当成绩小于0时结束输入。计算出平均成绩,并输出不及格的成绩和人数的程序
好的,以下是您需要的C语言代码:
```c
#include <stdio.h>
int main() {
int score, sum = 0, count = 0, fail_count = 0;
float average;
printf("请输入学生成绩(若干个),以负数结束:\n");
while (1) {
scanf("%d", &score);
if (score < 0) {
break;
}
sum += score;
count++;
if (score < 60) {
fail_count++;
}
}
if (count == 0) {
printf("没有输入任何成绩!\n");
} else {
average = (float)sum / count;
printf("平均成绩为:%.2f\n", average);
if (fail_count > 0) {
printf("不及格的成绩及人数为:%d\n", fail_count);
} else {
printf("没有不及格的成绩!\n");
}
}
return 0;
}
```
注:代码中的`while(1)`表示一个死循环,只有当输入的成绩小于0时才会通过`break`语句跳出循环。
编写程序,从键盘上输入若干个学生的成绩,当成绩小于或等于0时结束输入,统计并输出优秀,良好,中等,及格和不及格人数。
### 回答1:
可以使用 Python 语言编写此程序,具体实现如下:
```python
excellent = 0 # 优秀人数
good = 0 # 良好人数
medium = 0 # 中等人数
passing = 0 # 及格人数
failed = 0 # 不及格人数
while True:
score = float(input("请输入学生成绩:"))
if score <= 0:
break
if score >= 90:
excellent += 1
elif score >= 80:
good += 1
elif score >= 70:
medium += 1
elif score >= 60:
passing += 1
else:
failed += 1
print(f"优秀人数:{excellent},良好人数:{good},中等人数:{medium},及格人数:{passing},不及格人数:{failed}")
```
程序的运行流程如下:
1. 初始化各项成绩人数的计数器,均赋值为 0。
2. 进入循环,输入学生成绩,如果输入的成绩小于或等于 0,则跳出循环。
3. 根据输入的成绩,判断学生的成绩等级,分别累加到对应的计数器中。
4. 循环结束后,输出各项成绩人数的计数器的值。
注意,此程序中对输入的成绩进行了浮点数类型的转换,以保证输入的成绩可以是小数。同时,程序没有对输入的成绩进行范围的判断,如果需要可以进行修改。
### 回答2:
编写一个程序,让用户从键盘上输入若干个学生的成绩。当输入的成绩小于或等于0时,表示输入结束。在程序运行过程中,我们需要统计并输出优秀、良好、中等、及格和不及格的人数。
我们可以定义五个变量,分别代表五个成绩区间的人数。命名为excellent,good,average,pass,fail。初始值都设置为0。
然后使用一个循环,每次循环从键盘上读取一个学生的成绩。如果成绩小于或等于0,则跳出循环。否则,根据成绩的大小,更新对应的人数变量。
具体的代码如下:
```python
excellent = 0
good = 0
average = 0
pass = 0
fail = 0
while True:
score = float(input("请输入学生的成绩:"))
if score <= 0:
break
elif score >= 90:
excellent += 1
elif score >= 80:
good += 1
elif score >= 70:
average += 1
elif score >= 60:
pass += 1
else:
fail += 1
print("优秀人数:", excellent)
print("良好人数:", good)
print("中等人数:", average)
print("及格人数:", pass)
print("不及格人数:", fail)
```
这个程序会循环接收学生的成绩,直到输入的成绩小于或等于0为止。然后根据成绩范围将人数累加到对应的变量中。最后打印出各个人数的统计结果。
### 回答3:
编写一个程序,实现从键盘上输入若干个学生的成绩,并统计输出优秀、良好、中等、及格和不及格的人数。
首先,我们可以定义五个变量分别用于统计优秀、良好、中等、及格和不及格的人数,初始值为0。
然后,使用一个循环来输入学生的成绩,直到输入的成绩小于或等于0时结束循环。在每次循环中,我们可以使用一个if-else if语句来判断学生的成绩所属的范围,并对相应的变量进行递增操作。
最后,输出各个等级的人数。
下面是具体代码示例:
```python
# 定义变量并初始化
excellent_count = 0 # 优秀
good_count = 0 # 良好
medium_count = 0 # 中等
pass_count = 0 # 及格
fail_count = 0 # 不及格
# 输入学生成绩并统计人数
while True:
score = float(input("请输入学生的成绩(输入小于或等于0时结束):"))
if score <= 0:
break
elif score >= 90:
excellent_count += 1
elif score >= 80:
good_count += 1
elif score >= 70:
medium_count += 1
elif score >= 60:
pass_count += 1
else:
fail_count += 1
# 输出人数统计结果
print("优秀人数:", excellent_count)
print("良好人数:", good_count)
print("中等人数:", medium_count)
print("及格人数:", pass_count)
print("不及格人数:", fail_count)
```
通过这段代码,我们可以实现从键盘上输入多个学生的成绩,并统计并输出各个等级的人数。你可以根据自己的需要进行测试并进行必要的修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)