用C++结构完成题目 给定程序中,函数 fun 的功能是:将形参 std 所指结构体数组中年龄最大者的数据作为函数值返回,并在 main 函数中输出。 输入输出格式 输入格式 输入5个人的姓名和年龄。 输出格式 输出年龄最大者。 输入输出样例1 输入 aaa 17 bbb 16 ccc 18 ddd 17 eee 15 输出 Name : ccc, Age : 18
时间: 2024-03-15 22:43:59 浏览: 179
好的,这是一个找出结构体数组中年龄最大者的问题。下面是解决方案:
```c++
#include <iostream>
#include <string>
using namespace std;
struct student {
string name;
int age;
};
student fun(student *std, int n) {
student max_student = std[0]; // 假设第一个学生年龄最大
for (int i = 1; i < n; i++) {
if (std[i].age > max_student.age) {
max_student = std[i];
}
}
return max_student;
}
int main() {
student std[5];
for (int i = 0; i < 5; i++) {
cin >> std[i].name >> std[i].age;
}
student max_student = fun(std, 5);
cout << "Name : " << max_student.name << ", Age : " << max_student.age << endl;
return 0;
}
```
解释一下代码:
首先定义一个结构体 `student`,用来表示每个学生的数据。该结构体包括姓名和年龄。
然后定义函数 `fun`,该函数的功能是找出结构体数组中年龄最大者,并将其作为函数值返回。该函数接受两个参数:结构体数组指针 `std` 和数组大小 `n`。我们先假设第一个学生年龄最大,然后使用一个循环遍历结构体数组,更新最大年龄的学生信息,最后将该学生作为函数值返回。
接着,在 `main` 函数中,我们定义一个结构体数组 `std`,并使用一个循环来输入每个学生的姓名和年龄。然后调用 `fun` 函数,找出年龄最大的学生,并将其信息输出。
希望能帮到你!
阅读全文