参考:https://baike.baidu.com/item/strcmp/5495571?fr=aladdin
参考:http://c.biancheng.net/c/strcmp.html
题目:https://www.luogu.com.cn/problem/P1781
#include<bits/stdc++.h>
using namespace std;
int n,i,r,ans,h;
char a[1010],b[1010];
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a;
if(strlen(a)>strlen(b))strcpy(b,a),h=i;
else if(strlen(a)==strlen(b)&&strcmp(a,b)>0)strcpy(b,a),h=i;
}
cout<<h<<endl;
cout<<b<<endl;
return 0;
}
注意题目中的strcmp判别条件,>0表示前面的大于后面的,<0表示前面的小于后面的,==0表示两者相同。
绝对不能用1和-1和0的条件来判断。
写成strcmp(a,b)==1是错误的,必须要写成strcmp(a,b)>0才可以