使用c++实现编写一个程序,输入个学生的数据,包括学号、姓名成绩,要求输出这些学生的数据并计算出学生人数和平局成绩。 输入样例1: 3 2202100101 李明 100 22021
时间: 2024-10-14 22:04:19 浏览: 28
编写程序,输入并保存5名学生的信息,计算出平均分,再按照成绩从高到低的顺序输出他们的信息。学生信息包括:学号、姓名、成绩。
在C++中,我们可以使用结构体(struct)来存储学生的相关信息,并结合循环和条件语句来处理输入和计算。首先,我们需要定义一个`Student`结构体:
```cpp
#include <iostream>
#include <string>
// 定义学生信息结构
struct Student {
int id;
std::string name;
int score;
};
int main() {
int numStudents;
// 输入学生数量
std::cout << "请输入学生人数:";
std::cin >> numStudents;
// 创建数组存储学生信息
Student students[numStudents];
// 遍历输入学生数据
for (int i = 0; i < numStudents; i++) {
std::cout << "请输入第" << (i + 1) << "位学生的学号、姓名和成绩:";
std::cin >> students[i].id >> students[i].name >> students[i].score;
}
// 输出所有学生信息
std::cout << "\n所有学生的数据:" << std::endl;
for (const auto& student : students) {
std::cout << "学号:" << student.id << ", 姓名:" << student.name << ", 成绩:" << student.score << std::endl;
}
// 计算平均分和是否存在平局
int totalScore = 0;
bool tieExists = false;
for (int i = 0; i < numStudents; i++) {
totalScore += students[i].score;
// 检查是否有平局
if (i > 0 && students[i].score == students[i - 1].score) {
tieExists = true;
}
}
double averageScore = static_cast<double>(totalScore) / numStudents;
std::cout << "\n平均成绩:" << averageScore << " 分" << std::endl;
if (tieExists) {
std::cout << "存在平局成绩!" << std::endl;
} else {
std::cout << "没有平局成绩。" << std::endl;
}
return 0;
}
```
阅读全文