设计一个结构体用于表示学生的信息,包括学号、姓名和年龄。编写一个程序,从键盘输入若干个学生的信息,存储到结构体数组中,并 输出年龄最大的学生的学号和姓名。
时间: 2024-02-13 18:07:27 浏览: 74
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
好的,根据您的要求,我来为您设计一个结构体表示学生的信息,并编写一个程序实现相关功能。
以下是C++代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
struct Student {
string id; // 学号
string name; // 姓名
int age; // 年龄
};
int main() {
const int MAX_NUM = 100; // 最多输入的学生数量
int n; // 实际输入的学生数量
Student stu[MAX_NUM]; // 存储学生信息的结构体数组
// 从键盘输入学生信息
cout << "请输入学生数量:";
cin >> n;
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个学生的信息(学号、姓名、年龄):";
cin >> stu[i].id >> stu[i].name >> stu[i].age;
}
// 查找年龄最大的学生
int max_age_idx = 0; // 年龄最大的学生在结构体数组中的索引
for (int i = 1; i < n; i++) {
if (stu[i].age > stu[max_age_idx].age) {
max_age_idx = i;
}
}
// 输出年龄最大的学生的学号和姓名
cout << "年龄最大的学生是:" << stu[max_age_idx].name << "(" << stu[max_age_idx].id << "),年龄为" << stu[max_age_idx].age << "岁。" << endl;
return 0;
}
```
运行程序后,按照提示输入学生信息,程序会自动计算出年龄最大的学生的学号和姓名,并输出到屏幕上。
注意:上述代码中使用了string类型表示学号和姓名,需要添加头文件`#include <string>`。如果您的编译器不支持string类型,可以用char数组替代。
阅读全文