压岁钱
概述
给你n个人名和这n个人得到的压岁钱(一个人可以有好几笔)
求谁得的钱最多
输入样例
3
xiaoming 100 50 888
daxiong 88 166 1000 8888 8
xiaoy 8
输出样例
daxiong
思路
1.读入字符串和其后的n笔钱,累计钱数和(话说我为什么没有这么多钱)
2.排序(结构体排序)(当然直接求最大值方便快捷)
3.输出
上代码:
#include<cstring>
#include<algorithm>
#include<cmath>
#include<iostream>
#include<map>
#include<string>
using namespace std;
struct f{
string a;
int b;
} a[60];
bool cmp(f a,f b)
{
return a.b>b.b;
}
int main()
{
int n;
cin>>n;
for (int i=0;i<n;i++)
{
cin>>a[i].a;
string y;
int u=0;
getline(cin,y);//这一部分是求钱和钱数和,因为不知道有几笔钱所以要用字符串求解
for (int j=0;j<y.size();j++)
{
if (y[j]==' ')
{
a[i].b+=u;
u=0;
}
else u=u*10+y[j]-'0';
}
a[i].b+=u;
}
sort(a,a+n,cmp);//排序,也可以用最大值
cout<<a[0].a;
return 0;
}