用C语言写结构体friend的成员有姓名、出生日期、电话号码等。输入n(n<10)个朋友的信息,再按他们的年龄从大到小的顺序输出朋友信息
时间: 2024-02-22 14:58:45 浏览: 113
设有定义语句-c语言结构体
好的,这是一个关于C语言结构体的问题。
首先需要定义一个结构体来存储朋友的信息,包括姓名、出生日期和电话号码等。可以这样定义:
```c
struct Friend {
char name[20];
char birthday[20];
char phone[20];
int age;
};
```
接下来,在主函数中,我们可以先定义一个长度为n的结构体数组friends来存储n个朋友的信息,然后逐个输入每个朋友的信息:
```c
int main() {
int n;
printf("请输入朋友的数量:");
scanf("%d", &n);
struct Friend friends[n];
for (int i = 0; i < n; i++) {
printf("请输入第%d个朋友的信息:\n", i + 1);
printf("姓名:");
scanf("%s", friends[i].name);
printf("出生日期:");
scanf("%s", friends[i].birthday);
printf("电话号码:");
scanf("%s", friends[i].phone);
printf("年龄:");
scanf("%d", &friends[i].age);
}
// 排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (friends[j].age < friends[j + 1].age) {
struct Friend temp = friends[j];
friends[j] = friends[j + 1];
friends[j + 1] = temp;
}
}
}
// 输出
printf("按年龄从大到小排序的朋友信息如下:\n");
for (int i = 0; i < n; i++) {
printf("姓名:%s\n", friends[i].name);
printf("出生日期:%s\n", friends[i].birthday);
printf("电话号码:%s\n", friends[i].phone);
printf("年龄:%d\n", friends[i].age);
}
return 0;
}
```
在上面的代码中,我们使用了冒泡排序算法,按照朋友的年龄从大到小排序,然后逐个输出朋友的信息。
希望这个回答能够帮到你!如果还有问题,可以继续问我。
阅读全文