可以帮忙看一下代码有什么问题吗,谢谢
  • 板块学术版
  • 楼主wlytfboys
  • 当前回复8
  • 已保存回复8
  • 发布时间2021/2/22 12:59
  • 上次更新2023/11/5 02:53:50
查看原帖
可以帮忙看一下代码有什么问题吗,谢谢
400185
wlytfboys楼主2021/2/22 12:59

这天李老师要整理他家的藏酒,将所有的酒整理出一个名单,需要将酒以酒的年份,价格,品相排序。首先按年份降序排序,如果年份相同的时候,按价格升序排序,如果年份价格都相同的时候按品相升序排序。 Format Input 第一行输入一个n,代表n瓶酒需要整理。 接下来n行,每行输入酒的名字,年份,价格,品相 Format Output 排序后酒的名字 Sample Input 8 拉菲 35 20000 5 青岛啤酒 60 5 5 二锅头 60 5 4 哈尔滨啤酒 60 4 5 黑桃a 15 20000 3 崂山啤酒 3 5 5 五粮液 20 15000 1 茅台 5 20000 2 Sample Output 哈尔滨啤酒 二锅头 青岛啤酒 拉菲 五粮液 黑桃a 茅台 崂山啤酒

#include<bits/stdc++.h>
using namespace std;
struct tfboys
{
	string name;
	int a;
	int b;
	int c;
};
tfboys s[100];
int n;
bool tnt(tfboys x,tfboys y) 
{
	if(x.a!=y.a)
	{
		return x.a<y.a;
	}
	if(x.b!=y.b)
	{
		return x.b<y.b;
	}
	return x.c<y.c;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>s[i].name>>s[i].a>>s[i].b>>s[i].c;
	}
	sort(s+1,s+n+1,tnt);
	for(int i=1;i<=n;i++)
	{
		cout<<s[i].name<<endl;
	}
	return 0;
}
``
2021/2/22 12:59
加载中...