输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。

输入样例:

3
zhang 19850403 13912345678
wang 19821020 +86-0571-88018448
qian 19840619 13609876543

输出样例:

wang 19821020 +86-0571-88018448
qian 19840619 13609876543
zhang 19850403 13912345678

#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
	
	typedef struct {
		char name[11];
		char born[9];
		char num[18];
	}message;

	int n;
	cin >> n;
	message *m = new message[n];

	for (int i = 0; i < n; i++)
	{
		cin >> m[i].name;
		cin >> m[i].born;
		cin >> m[i].num;
	}

	message tmp;
	while (n > 1)
	{
		for (int i = 0; i < n - 1; i++)
		{
			if (strcmp(m[i].born, m[i + 1].born)>0)
			{
				tmp = m[i];
				m[i] = m[i + 1];
				m[i + 1] = tmp;
			}
		}
		n--;
	}
	for (int i = 0; i < 3; i++)
	{
		cout << m[i].name << " " << m[i].born << " " << m[i].num << endl;
	}
	delete[]m;

	return 0;
}

猜你喜欢

转载自blog.csdn.net/xbpalyer/article/details/88768476