输入一串正整数,输出组合后最大的数

输出结果有可能过大,要求输出字符串

例如输入1  10  14  5  9,输出9514110

#include
#include
#include
using namespace std;

int main()
{
	string s[100], result;
	int num, i = 0;
	do{
		cin >> num;
		s[i] = to_string(num);
		++i;
	} while (cin.get() != '\n');

	for (int j = 0; j < i-1; ++j)
	{
		for (int k = 0; k < i-1-j; ++k)
		{
			if (s[k] + s[k+1] < s[k+1] + s[k]){
				swap(s[k], s[k+1]);
			}
		}
	}

	for (int h = 0; h < i; ++h)
		result += s[h];
	cout << result << endl;

	system("pause");
	return 0;
}


你可能感兴趣的:(输入一串正整数,输出组合后最大的数)