题目
注意点:
用字符串来记录数据
用位数来进行第一轮判断,用int 记录位数时会超出限制
位数相同时比较字典序
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
unsigned long long n,p,j,max=0;//注意数据很大时int会超出
cin>>n;
char a[22][1000];
for(int i=1;i<=n;i++)
{
cin>>a[i];
p=strlen(a[i]);//记录位数
if(max<p)
{
max=p;//比较位数,取最大位数
j=i;//记录位数最大的编号
}
if(max==p&&strcmp(a[i-1],a[i])<0)//当位数相同时,比较字典序,数字大的字典序在后
{
j=i;
}
}
cout<<j<<endl;
cout<<a[j];
return 0;
}
很简单的一道题