高精度比较:先比位数,再从最高位开始比
string
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
string maxs, a;
cin >> n;
int p;
for (int i = 0; i < n; i ++ )
{
cin >> a;
if (a.size() > maxs.size()|| (a.size() == maxs.size() && a > maxs))
{
maxs = a;
p = i;
}
}
cout << p + 1 << endl << maxs << endl;
return 0;
}
结构体
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 25;
struct Rec
{
string s;
int num;
int len;
}s[N];
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i ++ )
{
cin >> s[i].s;
s[i].num = i;
s[i].len = s[i].s.size();
}
sort(s + 1, s + n + 1, [&](Rec a, Rec b){
if (a.len > b.len) return 1;
if (a.len == b.len && a.s > b.s) return 1;
return 0;
});
cout << s[1].num << endl << s[1].s << endl;
return 0;
}