输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。
时间: 2023-08-31 12:29:30 浏览: 1277
C语言 通讯录 源代码
### 回答1:
答:通过使用列表的排序功能,可以将输入的n个朋友的信息(姓名、生日、电话号码)按照年龄从大到小的顺序依次输出通讯录。具体步骤如下:(1)创建一个列表,将n个朋友的信息(姓名、生日、电话号码)添加到列表中。(2)使用列表的排序功能,按照年龄从大到小的顺序对该列表排序。(3)依次遍历列表中的每一项,将每个朋友的信息(姓名、生日、电话号码)依次输出到通讯录中。
### 回答2:
可以使用结构体来存储朋友的信息,结构体中包括姓名、生日和电话号码三个字段。通过输入n个朋友的信息,将其存储到一个结构体数组中。然后按照年龄从大到小的顺序进行排序,最后按顺序输出通讯录。
具体实现步骤如下:
1. 定义一个结构体,包含姓名、生日和电话号码三个字段。
2. 创建一个结构体数组,大小为n,用于存储n个朋友的信息。
3. 使用循环输入每个朋友的姓名、生日和电话号码,将其存储到结构体数组中。
4. 使用冒泡排序或者其他排序算法,按照生日从大到小的顺序对结构体数组进行排序。
5. 使用循环按顺序输出排序后的结构体数组中的每个朋友的姓名、生日和电话号码,即为按年龄从大到小的顺序输出通讯录。
示例代码如下:
```C++
#include <iostream>
#include <string>
using namespace std;
struct Friend {
string name;
int birthday;
string phoneNumber;
};
int main() {
int n;
cout << "请输入朋友的数量n:";
cin >> n;
Friend friends[n];
// 输入朋友信息
cout << "请输入每个朋友的姓名、生日和电话号码(用空格隔开):" << endl;
for (int i = 0; i < n; i++) {
cin >> friends[i].name >> friends[i].birthday >> friends[i].phoneNumber;
}
// 按照生日排序
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (friends[j].birthday < friends[j+1].birthday) {
Friend temp = friends[j];
friends[j] = friends[j+1];
friends[j+1] = temp;
}
}
}
// 输出通讯录
cout << "按照年龄从大到小的顺序输出通讯录:" << endl;
for (int i = 0; i < n; i++) {
cout << friends[i].name << " " << friends[i].birthday << " " << friends[i].phoneNumber << endl;
}
return 0;
}
```
这样,就可以通过输入n个朋友的信息,并按照生日从大到小的顺序输出通讯录了。
### 回答3:
假设我们可以使用Python编程语言来解决此题。
首先,我们需要创建一个类来表示每个朋友的信息,包括姓名、生日和电话号码。我们将使用类的属性来存储这些信息,并在初始化函数中设置初始值。代码如下:
```python
class Friend:
def __init__(self, name, birthday, phone_number):
self.name = name
self.birthday = birthday
self.phone_number = phone_number
```
接下来,我们将创建一个空的列表来存储所有朋友的信息。我们将使用一个循环来让用户输入每个朋友的信息,并将其添加到列表中。代码如下:
```python
friends = []
n = int(input("请输入朋友的数量:"))
for i in range(n):
name = input("请输入朋友的姓名:")
birthday = input("请输入朋友的生日:")
phone_number = input("请输入朋友的电话号码:")
friend = Friend(name, birthday, phone_number)
friends.append(friend)
```
然后,我们将使用`sorted()`函数来根据朋友的生日从大到小排序列表。我们将为`sorted()`函数传递一个`key`参数,该参数将根据朋友的生日来进行比较排序。代码如下:
```python
sorted_friends = sorted(friends, key=lambda friend: friend.birthday, reverse=True)
```
最后,我们将使用一个循环来遍历排好序的列表,并打印每个朋友的信息。代码如下:
```python
for friend in sorted_friends:
print("姓名:", friend.name)
print("生日:", friend.birthday)
print("电话号码:", friend.phone_number)
```
至此,我们已经完成了按照年龄从大到小的顺序输出通讯录的程序。
阅读全文