试采用指向结构体的指针编写一程序,实现输入三个学生的学号、语文、数学成绩,然后计算各学生平均成绩并输出成绩表。c++
时间: 2023-11-28 22:48:38 浏览: 210
以下是一个使用指向结构体的指针实现输入三个学生的学号、语文、数学成绩,计算各学生平均成绩并输出成绩表的示例代码:
```c++
#include <iostream>
using namespace std;
// 定义学生结构体
struct Student {
int id; // 学号
float chinese; // 语文成绩
float math; // 数学成绩
float average; // 平均成绩
};
int main() {
Student students[3]; // 定义三个学生的数组
Student *p; // 定义指向学生结构体的指针
// 输入学生信息
for (int i = 0; i < 3; i++) {
p = &students[i]; // 将指针指向当前学生结构体
cout << "请输入第" << i + 1 << "个学生的学号、语文成绩和数学成绩:" << endl;
cin >> p->id >> p->chinese >> p->math;
p->average = (p->chinese + p->math) / 2; // 计算平均成绩
}
// 输出成绩表
cout << "学号\t语文\t数学\t平均成绩" << endl;
for (int i = 0; i < 3; i++) {
p = &students[i]; // 将指针指向当前学生结构体
cout << p->id << "\t" << p->chinese << "\t" << p->math << "\t" << p->average << endl;
}
return 0;
}
```
运行程序后,将会提示输入三个学生的学号、语文、数学成绩,然后输出成绩表,如下所示:
```
请输入第1个学生的学号、语文成绩和数学成绩:
1001 90 80
请输入第2个学生的学号、语文成绩和数学成绩:
1002 85 90
请输入第3个学生的学号、语文成绩和数学成绩:
1003 95 95
学号 语文 数学 平均成绩
1001 90 80 85
1002 85 90 87.5
1003 95 95 95
```
阅读全文