思路
本题非常简单,写一个用来比较的 isMax 函数,以字符串读入就好了。
代码
#include <iostream>
#include <cstring>
using namespace std;
bool isMax(string str1, string str2) {
if (str1.length() > str2.length()) {
return false;
}
if (str1.length() < str2.length()) {
return true;
}
for (int i = 0; i < str1.length(); ++i) {
if (str1[i] > str2[i]) {
return false;
} else if(str1[i] < str2[i]){
return true;
}
}
return false;
}
int main() {
int n;
cin >> n;
string maxStr = "0";
int maxIndex = 0;
for (int i = 0; i < n; ++i) {
string temp;
cin >> temp;
if (isMax(maxStr, temp)) {
maxStr = temp;
maxIndex = i;
}
}
cout << maxIndex + 1 << endl << maxStr;
}