【PTA】 通讯录排序

  • Post author:
  • Post category:其他


输入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 版权协议,转载请附上原文出处链接和本声明。