题目的意思就是给出几个数字,然后组合,像12 ,34两个数字,可以组成1234 ,3412 , 3412比较大,就是要问组成最大的是哪个;
把每个数字存成string ,排个序。输出就行,但是注意的是9,90 。。990 ,就比909大,所以写排序函数的时候要注意一点。。
AC代码:
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 50 + 5;
int num ;
string str[N];
int cmp (string a ,string b) {
return a + b > b + a;
}
int main () {
while (cin >> num && num) {
for (int i = 0 ;i < num ;i++) {
cin >> str[i];
}
sort(str , str + num ,cmp);
for (int i = 0 ; i < num ;i++) {
cout << str[i];
}
cout << endl;
}
return 0;
}