C++ 结构体数组:查找年龄最大学生信息
C++ 结构体数组:查找年龄最大学生信息
本程序使用 C++ 结构体数组存储学生信息,包括学号、姓名和年龄,并找出年龄最大的学生,输出其学号和姓名。
输入:
从键盘输入一个整数 n(1<=n<=100),表示学生人数。接下来输入 n 行,每行包含一个学生的信息,格式如下:
学号(12 位) 姓名(不含空格且不超过 20 位) 年龄(整数)
数据之间用空格隔开。
输出:
输出年龄最大的学生的学号和姓名,用空格隔开。
C++ 代码:
#include <iostream>
#include <cstring>
using namespace std;
struct Student {
char id[13]; // 学号
char name[21]; // 姓名
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 max_age = -1; // 最大年龄
int index = -1; // 最大年龄学生在数组中的下标
for (int i = 0; i < n; i++) {
if (stu[i].age > max_age) { // 如果当前学生年龄比最大年龄还大
max_age = stu[i].age; // 更新最大年龄
index = i; // 更新最大年龄学生在数组中的下标
}
}
cout << stu[index].id << ' ' << stu[index].name << endl; // 输出年龄最大的学生的学号和姓名
return 0;
}
代码说明:
- 使用
struct Student定义学生结构体,包含学号id、姓名name和年龄age。 - 使用
Student stu[n]定义一个包含n个学生信息的结构体数组。 - 通过循环输入学生信息,并存储到结构体数组中。
- 通过循环遍历结构体数组,找出年龄最大的学生,并记录其在数组中的下标
index。 - 输出年龄最大的学生的学号和姓名。
示例:
输入:
3 20230101 张三 20 20230102 李四 18 20230103 王五 22
输出:
20230103 王五
原文地址: http://www.cveoy.top/t/topic/ojIb 著作权归作者所有。请勿转载和采集!