c++输入n个朋友的信息名字生日按年龄大到小输出
时间: 2024-02-13 08:03:05 浏览: 69
好的,我可以帮你解决这个问题。以下是一个示例程序:
```c++
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct Friend {
string name;
int year;
int month;
int day;
};
bool cmp(const Friend& a, const Friend& b) {
if (a.year != b.year) {
return a.year > b.year;
}
if (a.month != b.month) {
return a.month > b.month;
}
return a.day > b.day;
}
int main() {
int n;
cin >> n;
vector<Friend> friends(n);
for (int i = 0; i < n; i++) {
cin >> friends[i].name >> friends[i].year >> friends[i].month >> friends[i].day;
}
sort(friends.begin(), friends.end(), cmp);
for (int i = 0; i < n; i++) {
cout << friends[i].name << endl;
}
return 0;
}
```
这个程序中,我们定义了一个 `Friend` 结构体,用来存储朋友的信息。其中包括名字和生日,生日分为年、月、日三个字段。
程序首先读入朋友的个数,然后读入每个朋友的信息。接着,使用 `sort` 函数来对朋友进行排序,排序的比较函数为 `cmp`,按照年龄从大到小排序。
最后,程序输出排序后的朋友名字即可。
阅读全文