///把数字转换为字符串来处理
//对于字符串a,b,如果a+b>b+a,那么a的最高数位大于b的最高数位。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,i,j;
string t;
cin>>n;
string a[100];
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n;i++){/从第一个数字(字符串)开始,将它依次与其余的字符串做比较,然后选择较大的放在前面,
//与冒泡排序类似,不过冒泡排序刚好是将大的放在后面
for(j=i+1;j<n;j++){
if(a[j]+a[i]>a[i]+a[j]){//"+"号可直接连接两个字符串
t=a[i];a[i]=a[j];a[j]=t;
}
}
}
for(i=0;i<n;i++)
cout<<a[i];
return 0;
}
最大整数(Noip1998连接多位数)
最新推荐文章于 2024-04-23 20:29:08 发布