写一段代码 实现输入n名学生(不超过100名)的姓名、学号和体能总成绩(假定输入成绩都是正确的),输出比平均分高的学生姓名(长度不超过9个字符)、学号和成绩。 输入格式: 学生数 姓名 学号 成绩 ...... 输出格式: 姓名,学号,成绩
时间: 2023-12-06 08:08:00 浏览: 102
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
cin >> n;
string name[100];
string id[100];
int score[100];
int total_score = 0;
for (int i = 0; i < n; i++) {
cin >> name[i] >> id[i] >> score[i];
total_score += score[i];
}
double avg_score = total_score * 1.0 / n;
for (int i = 0; i < n; i++) {
if (score[i] > avg_score) {
cout << name[i] << " " << id[i] << " " << score[i] << endl;
}
}
return 0;
}
相关问题
输入n名学生(不超过100名)的姓名、学号和体能总成绩(假定输入成绩都是正确的),输出比平均分第一和第二的学生姓名(长度不超过9个字符)、学号和成绩。
好的,这是一个简单的Python实现:
```python
n = int(input("请输入学生人数:"))
students = []
total_score = 0
# 输入学生信息并计算总成绩
for i in range(n):
name = input("请输入第{}名学生的姓名:".format(i+1))
student_id = input("请输入第{}名学生的学号:".format(i+1))
score = int(input("请输入第{}名学生的体能总成绩:".format(i+1)))
students.append((name, student_id, score))
total_score += score
# 计算平均分
average_score = total_score / n
# 找出比平均分高的学生并排序
above_average_students = [s for s in students if s[2] > average_score]
above_average_students.sort(key=lambda x: x[2], reverse=True)
# 输出比平均分第一和第二的学生信息
if len(above_average_students) >= 2:
print("比平均分第一和第二的学生姓名、学号和成绩分别是:")
print(above_average_students[0][0], above_average_students[0][1], above_average_students[0][2])
print(above_average_students[1][0], above_average_students[1][1], above_average_students[1][2])
elif len(above_average_students) == 1:
print("只有一名学生考了比平均分高,他/她的姓名、学号和成绩分别是:")
print(above_average_students[0][0], above_average_students[0][1], above_average_students[0][2])
else:
print("没有学生考了比平均分高")
```
以上代码会先让用户输入学生信息,然后计算总成绩和平均分,接着筛选出比平均分高的学生并排序,最后输出比平均分第一和第二的学生信息。如果没有学生考了比平均分高,则输出相应提示。
输入一批学生的学号姓名和成绩统计学生总成绩和平均成绩
好的,这个任务可以用 Python 程序来完成。我这里给出一个简单的示例代码:
```python
# 定义一个空字典用于存储学生信息和成绩
students = {}
# 输入学生信息和成绩,以学号为键,姓名和成绩为值存储在字典中
while True:
student_id = input("请输入学生学号(输入 q 结束输入):")
if student_id == 'q':
break
student_name = input("请输入学生姓名:")
score = float(input("请输入学生成绩:"))
students[student_id] = [student_name, score]
# 计算学生总成绩和平均成绩
total_score = 0
for student in students.values():
total_score += student[1]
average_score = total_score / len(students)
# 输出结果
print("学生总成绩:", total_score)
print("学生平均成绩:", average_score)
```
这段代码首先定义了一个空字典 `students`,然后通过循环输入每个学生的学号、姓名和成绩,并将它们存储在字典中。最后,用一个循环计算所有学生的总成绩,再除以学生人数得到平均成绩,并输出结果。
注意:这个示例代码没有进行输入的检查,如输入的学号是否重复、成绩是否在合理范围内等。在实际使用中需要根据具体情况进行完善。