求助
查看原帖
求助
447951
zzx20071104楼主2021/4/3 10:41
#include<bits/stdc++.h>
using namespace std;
struct zt{
	string str;
	int x;
};
int f(string a,string b){
	int c=a.length();
	for(int i=1;i<=c;i++){
		if(a[i]>b[i]){
			return 1;
		}else if(a[i]<b[i]){
			return 0;
		}
	}
}
int main(){
	int n;cin>>n;
	zt a[n+1];
	for(int i=1;i<=n;i++){
		cin>>a[i].str;
		a[i].x=i;
	}
	
	for(int i=n;i>=1;i++){
		for(int j=1;j<i;j++){
			if(a[j].str.length()>a[j+1].str.length()){
				swap(a[j],a[j+1]);
			}
			else if(a[j].str.length()==a[j+1].str.length()){
				if(f(a[j].str,a[j+1].str)){
					swap(a[j],a[j+1]);
				}
			}
		}
	}
	cout<<a[n].x<<endl<<a[n].str;
	return 0;
}  

哪里错了

2021/4/3 10:41
加载中...