问题标题: 酷町堂:1552 数字穿串 ???

0
0
已解决
王光裕
王光裕
资深光能
资深光能

1552   数字穿串

题目描述 Description

小王同学现有n个正整数 (n<=20), 想将它们连接成一排, 组成一个最大的多位整数.

例如: n=3时, 3个整数13, 312, 32连接成的最大整数为: 3231213

又如: n=4时, 4个整数7,13,4,22连接成的最大整数为: 742213

输入描述 Input Description

第一行:数字n
第二行:n个数字,每个数字用空格隔开

输出描述 Output Description

连接成的多位数

样例输入 Sample Input

 

3
13 312 32

样例输出 Sample Output

 

3231213

代码:

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
long long a[10000],n;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    cin>>a[i];
    sort(a+1,a+n+1);
    for(int i=n;i>=1;i--)
    cout<<a[i];
}


0
已采纳
黄子扬
黄子扬
新手守护
新手守护

你这个代码

2

7 20

正确答案:

720

你的答案:

207

单位数字大的放前面

而不是整个数字大的放前面

 

黄子扬在2019-01-06 08:54:43追加了内容

上面的错了

你的答案:

702

1
储维
储维
中级光能
中级光能

sort的cmp函数要自己写,用字符串a,b表示数字,返回 a+b>b+a,排完序正序输出

 

0
刘小禾
刘小禾
新手守护
新手守护

用cmp:

bool cmp(string a,string b){

    if(...){

        return ...;

    }

}

我要回答