建立一个学生的结构体记录,包括学号、姓名和成绩。输入整数n(n<10),再输入n个学生的基本信息,要求计算并输出她们的平均成绩(保留两位小数)。
时间: 2024-03-17 10:45:03 浏览: 74
好的,这是一个C++语言的问题,下面是代码实现:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
// 学生结构体
struct Student {
int id; // 学号
string name; // 姓名
double score; // 成绩
};
int main() {
int n;
double sum = 0; // 总成绩
cin >> n;
Student* students = new Student[n]; // 动态分配数组空间
for(int i = 0; i < n; i++) {
cin >> students[i].id >> students[i].name >> students[i].score;
sum += students[i].score; // 累加总成绩
}
cout << fixed << setprecision(2) << sum / n << endl; // 计算并输出平均成绩
delete[] students; // 释放动态分配的数组空间
return 0;
}
```
以上代码中,我们首先定义了一个名为 `Student` 的结构体,包含了学生的学号、姓名和成绩三个属性。然后在 `main` 函数中,我们先读入学生的数量 `n`,再动态分配 `n` 个学生的结构体数组空间。接着我们利用循环依次读入每个学生的信息,并累加每个学生的成绩到 `sum` 变量中。最后通过 `cout` 输出平均成绩,并释放动态分配的数组空间。
注意:在输出平均成绩时,我们使用了 `fixed` 和 `setprecision` 函数来设置输出格式,保留两位小数。
阅读全文