结构体friend的成员有姓名、出生日期、电话号码等。输入n(n<10)个朋友的信息,再按他们的年龄从大到小的顺序输出朋友信息。
时间: 2023-08-27 16:03:00 浏览: 163
### 回答1:
可以定义一个结构体friend,包含姓名、出生日期、电话号码等成员。然后输入n个朋友的信息,可以使用循环和scanf函数实现。最后,可以使用冒泡排序或快速排序等算法,按照年龄从大到小的顺序输出朋友信息。
### 回答2:
首先,我们定义一个名为friend的结构体,它包含了姓名(name)、出生日期(birthdate)和电话号码(phone)这三个成员。
```C++
struct friend {
std::string name;
std::string birthdate;
std::string phone;
};
```
然后,我们按照以下方法输入n个朋友的信息:
```C++
int n;
std::cin >> n;
std::vector<friend> friends(n);
for (int i = 0; i < n; i++) {
std::cout << "请输入第" << (i + 1) << "个朋友的姓名:";
std::cin >> friends[i].name;
std::cout << "请输入第" << (i + 1) << "个朋友的出生日期:";
std::cin >> friends[i].birthdate;
std::cout << "请输入第" << (i + 1) << "个朋友的电话号码:";
std::cin >> friends[i].phone;
}
```
最后,我们按照年龄从大到小的顺序对朋友信息进行排序,并输出朋友信息:
```C++
std::sort(friends.begin(), friends.end(), [](const friend& a, const friend& b) {
// 假设出生日期格式为"YYYY-MM-DD",并且比较的年份位于字符串第0到第3位
int yearA = std::stoi(a.birthdate.substr(0, 4));
int yearB = std::stoi(b.birthdate.substr(0, 4));
return yearA > yearB;
});
for (const friend& f : friends) {
std::cout << "姓名:" << f.name << " 出生日期:" << f.birthdate << " 电话号码:" << f.phone << std::endl;
}
```
这样,就能够按照年龄从大到小的顺序输出朋友信息。