qq_56915571 2021-04-05 16:53 采纳率: 0%
浏览 365

姓名和年龄对排序C语言

输入两行,分别是5个姓名和五个年龄。 对年龄和名字排序(按照年龄递增排序,当年龄相等时按姓名递增排序),并且输出(name,age)对。 当年龄相等时按姓名递增排序。

  • 写回答

4条回答 默认 最新

  • 小白小白你好菜 2021-04-05 17:42
    关注
    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    typedef struct student{
    	int age;
    	char name[20];
    }Stu;
    
    bool cmp(Stu a, Stu b){
    	if(a.age == b.age)
    		return a.name < b.name;
    	return a.age < b.age;
    }
    
    int main(){
    	Stu stu[5];
    	for(int i = 0; i < 5; i++)
    		cin >> stu[i].name;
    	for(int i = 0; i < 5; i++)
    		cin >> stu[i].age;
    	sort(stu, stu+5, cmp);
    	for(int i = 0; i < 5; i++)
    		cout << "(" << stu[i].name << "," << stu[i].age << ")" << endl;
    	return 0;
    }
    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能