用C语言结构体friend的成员有姓名、出生日期、电话号码等。输入n(n<10)个朋友的信息,再按他们的年龄从大到小的顺序输出朋友信息。
时间: 2024-02-18 15:02:55 浏览: 34
好的,这是一个需要编写代码的问题。以下是解决此问题的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_FRIENDS 10
struct Friend {
char name[20];
char birthday[20];
char phone[20];
int age;
};
void sort_friends_by_age(struct Friend friends[], int n);
int main() {
struct Friend friends[MAX_FRIENDS];
int n, i;
printf("请输入朋友的数量(不超过10个):");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("请输入第%d个朋友的姓名:", i + 1);
scanf("%s", friends[i].name);
printf("请输入第%d个朋友的出生日期:", i + 1);
scanf("%s", friends[i].birthday);
printf("请输入第%d个朋友的电话号码:", i + 1);
scanf("%s", friends[i].phone);
printf("请输入第%d个朋友的年龄:", i + 1);
scanf("%d", &friends[i].age);
}
sort_friends_by_age(friends, n);
printf("\n按年龄从大到小的顺序输出朋友信息:\n");
for (i = 0; i < n; i++) {
printf("姓名:%s,出生日期:%s,电话号码:%s,年龄:%d\n",
friends[i].name, friends[i].birthday, friends[i].phone, friends[i].age);
}
return 0;
}
void sort_friends_by_age(struct Friend friends[], int n) {
int i, j;
struct Friend temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (friends[j].age < friends[j + 1].age) {
temp = friends[j];
friends[j] = friends[j + 1];
friends[j + 1] = temp;
}
}
}
}
```
这段代码定义了一个名为`Friend`的结构体,其中包含了姓名、出生日期、电话号码和年龄等信息。然后在`main`函数中,首先读取朋友的数量`n`,然后循环读取每个朋友的信息,并存储在一个名为`friends`的结构体数组中。最后,调用`sort_friends_by_age`函数按照年龄从大到小的顺序对`friends`数组进行排序,并输出排序后的结果。`sort_friends_by_age`函数使用冒泡排序算法实现。
注意,此代码只支持最多10个朋友的输入,如果需要支持更多的朋友,需要增加`MAX_FRIENDS`的值。
相关推荐
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)