多个整数连接为最大整数问题

来源:互联网 发布:linux架构师 招聘 编辑:程序博客网 时间:2024/06/08 21:15

题目描述

【问题描述】设有n个正整数(n<=20),将它们联接成一排,组成一个最大的多位整数。

例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213

又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613

输入

【输入格式】n

n个数

输出

【输出格式】连接成的多位数。

样例输入

313 312 343

样例输出

34331213
#include<iostream> #include<string> using namespace std; int main() {     int n,i,j;     string a[22],temp;     cin>>n;     for(i=0;i<n;i++)         cin>>a[i];     for(i=0;i<n;i++)      {          for(int j=0;j<n-1;j++)          {              if(a[j]+a[j+1]>a[j+1]+a[j])              {                  temp=a[j];                  a[j]=a[j+1];                  a[j+1]=temp;              }          }      }      for(i=n-1;i>=0;i--)         cout<<a[i];     return 0; }