输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。
这题是一道基础的结构体题目,核心在于对通讯录及逆行排序,我这里用的是冒泡,也可以使用其他排序方法。
贴代码:
#include<iostream>
using namespace std;
struct friends
{
char name[20];
int birth;
char phone[20];
}a[100];
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i].name>>a[i].birth>>a[i].phone;
//冒泡排序
for(int i=0;i<n;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(a[j].birth>a[j+1].birth)
{a[10]=a[j];a[j]=a[j+1];a[j+1]=a[10];}
}
}
for(int i=0;i<n;i++)
cout<<a[i].name<<" "<<a[i].birth<<" "<<a[i].phone<<endl;
return 0;
}
版权声明:本文为m0_51495585原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。