程序题,15.0分)设计一个结构体用于表示学生的信息,包括学号、姓名和年龄。编写一个程序,从键盘输入若干个学生的信息,存储到结构体数组中,并输出年龄最大的学生的学号和姓名。输入: 从键盘输入一个整数n (1<=n<=100) ,表示学生人数。接下来输入n行,每行包含个学生的信息,格式如下:学号(12位) 姓名(不含空格且不超过20位)年龄(整数)数据之间用空格隔开。
时间: 2024-02-13 12:07:51 浏览: 78
运用结构体数组与输入函数进行存放学生的学号姓名等数据
4星 · 用户满意度95%
以下是 C++ 代码实现:
```
#include <iostream>
#include <string>
using namespace std;
struct Student {
string id;
string name;
int age;
};
int main() {
int n;
cin >> n;
Student stu[n];
for (int i = 0; i < n; i++) {
cin >> stu[i].id >> stu[i].name >> stu[i].age;
}
int maxAge = -1;
int maxIndex = -1;
for (int i = 0; i < n; i++) {
if (stu[i].age > maxAge) {
maxAge = stu[i].age;
maxIndex = i;
}
}
cout << stu[maxIndex].id << " " << stu[maxIndex].name << endl;
return 0;
}
```
首先从键盘输入学生人数 n,然后定义一个结构体数组 stu 存储学生信息。循环读入每个学生的信息,存储到结构体数组中。
接着,定义变量 maxAge 和 maxIndex,分别表示年龄最大的学生的年龄和下标。循环遍历结构体数组,找到年龄最大的学生,更新 maxAge 和 maxIndex。
最后输出年龄最大的学生的学号和姓名,即结构体数组中下标为 maxIndex 的学生的 id 和 name。
阅读全文