题目描述
设有N个正整数(N≤100,每个数均在int范围内),将它们连接成一排组成一个最大的多位整数。
例如:N=3时,3个正整数13、312、343,连接成的最大整数为34331213。
又如:N=4时,4个正整数7、13、4、246,连接成的最大整数为7424613。
输入格式
第一行一个正整数N;
第二行包含N个正整数,之间用一个空格隔开。
输出格式
一行一个正整数,表示连接成的最大正整数。
样例输入
3
13 312 343
样例输出
34331213
程序如下
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int cmp(string a, string b)
{
return a + b > b + a;
}
int main()
{
int n, i;
string a[105];
cin>>n;
for(i = 0; i < n; i++)
{
cin>>a[i];
}
sort(a, a + n, cmp);
for(i = 0; i < n; i++)
{
cout<<a[i];
}
return 0;
}