压岁钱
【问题描述】
春节时期,同学们都收到了很多的压岁钱(整数),现在小童想知道班上压岁钱最多的同学,请你来帮他编程实现。
输入:第一行为一个数字n(0<n<50),表示班上有n名同学的信息。
接下来有n行,每行包括同学的姓名和压岁钱数,以空格隔开。
输出:一行或多行,表示压岁钱最多的人的姓名和钱数,以空格隔开。若有多名同学并列第一,则以多行展示并输出结果。
【样例输入】
5
zhangze 380
zhuhaomiao 1250
tiansen 2500
zhaoyatao 6666
yangxueqing 6666
【样例输出】
zhaoyatao 6666
yangxueqing 6666压岁钱
【问题描述】
春节时期,同学们都收到了很多的压岁钱(整数),现在小童想知道班上压岁钱最多的同学,请你来帮他编程实现。
输入:第一行为一个数字n(0<n<50),表示班上有n名同学的信息。
接下来有n行,每行包括同学的姓名和压岁钱数,以空格隔开。
输出:一行或多行,表示压岁钱最多的人的姓名和钱数,以空格隔开。若有多名同学并列第一,则以多行展示并输出结果。
【样例输入】
5
zhangze 380
zhuhaomiao 1250
tiansen 2500
zhaoyatao 6666
yangxueqing 6666
【样例输出】
zhaoyatao 6666
yangxueqing 6666
#include<stdio.h>
int main()
{
int n,j,i;
scanf("%d",&n);
char name[50][50];
int t[50];
for(j=0; j<n; j++)
{
scanf("%s %d",name[j],&t[j]);
}
int max=t[0];
for(j=1; j<n; j++)
{
if(t[j]>max)
{
max=t[j];
}
}
for(j=0; j<n; j++)
{
if(t[j]==max)
{
printf("%s %d\n",name[j],t[j]);
}
}
return 1;
}
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int n, money;
string name;
vector<pair<string, int>> a;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> name >> money;
a.push_back({name, money});
}
auto itr = max_element(a.begin(), a.end(),
[](const auto &lhs, const auto &rhs)
{ return lhs.second < rhs.second; });
for_each(a.begin(), a.end(),
[itr](const auto &v) {
if (v.second == itr->second)
cout << v.first << ' ' << v.second << '\n';
});
return 0;
}