C++输入一组整数,拼成一个最大的整数

参考网上代码,网上的代码是直接输入字符串,修改成输入整数。

#include<iostream>

#include<string>
#include<stdlib.h>//atoi函数包含的头文件
using namespace std;
bool compare(string a, string b)
{
if (a + b >= b + a)//ab>=ba,这个时候不需要交换
{
return false;
}
return true;//ab<ba,这个时候需要交换
}

int main()
{
int n;
cin >> n;
char arr[20][20];
int arri[20];
string temp,str[20];
for (int a = 0; a<n; a++)
{
cin >> arri[a];
_itoa_s(arri[a],arr[a],10);
}

for (int a = 0; a<n; a++)
{
str[a] = arr[a];
}

for (int i = 0; i<n - 1; i++)
{
for (int j = n - 1; j>i; j--)
{
if (compare(str[j - 1], str[j])) //如果为true则交换,
{
temp = str[j];
str[j] = str[j - 1];
str[j - 1] = temp;
}
}
}
for (int k = 0; k<n; k++){
cout << str[k];
}
cout << endl;
return 0;
}

posted @ 2019-09-17 16:57  yuanch2019  阅读(965)  评论(0)    收藏  举报