注册 登录
编程论坛 C语言论坛

请问一个数组名加上另一个数组中的元素是什么意思

komorebi0110 发布于 2020-03-18 04:23, 2082 次点击
程序代码:
#include<iostream>
#include<algorithm>
using namespace std;
int fun(string a, string b){
    if(a.length() == b.length()){
        //do nothing
    }
    else if(a.length() > b.length()){
        int dlen = a.length() - b.length();
        for(int i = 0; i < dlen; i++){
            b += a[i];
        }
    }
    else{
        int dlen = b.length()-a.length();
        for(int i = 0; i < dlen; i++){
            a += b[i];
        }
    }
    return a > b;
}
int main(){
    int n;
    string arr[30];
    cin >> n;
    for(int i = 0; i < n; i++){
        cin >> arr[i];
    }
    sort(arr, arr + n, fun);
    for(int i = 0; i < n; i++){
        cout << arr[i];
    }
    return 0;
}
7 回复
#2
komorebi01102020-03-18 04:24
只有本站会员才能查看附件,请 登录


如果71 712的话应该会输出71712
#3
komorebi01102020-03-18 05:19
题目好像有点问题,好像不是数组名...string a 是什么意思也请问一下qaq
#4
纯蓝之刃2020-03-18 09:21
程序代码:
#include<iostream>
#include<algorithm>
using namespace std;
int fun(string a, string b)
{
    return a > b;
}
int main()
{
    int n;
    string arr[30],str;
    cin >> n;
    for(int i = 0; i < n; i++)
    {
        cin >> arr[i];
    }
    sort(arr, arr + n, fun);
    for(int i = 0; i < n; i++)
    {
        str.append(arr[i]);
    }
    cout << str;
    return 0;
}
#5
return_02020-03-18 09:25
回复 3楼 komorebi0110
string型呀,字符串
#6
return_02020-03-18 09:48
这是string的特性,用+=嵌插
#7
rjsp2020-03-18 10:07
看你的 int fun(string a, string b) 实现,直接用 return ( 0, std::min(a.size(),b.size()), b ); 就行了
看你在2楼的题目,你这算法错误呀,比如 "23" 应该在 "231" 之前,但 "23" 却不应该在 "234" 之前。

我帮你改一下
程序代码:
#include <iostream>
#include <iterator>
#include <algorithm>
#include <string>
using namespace std;

int main( void )
{
    size_t n;
    cin >> n;

    string arr[20];
    copy_n( std::istream_iterator<string>(cin), n, arr );

    sort( arr, arr+n, [](const auto& a,const auto& b){ return a+b>b+a;} );

    copy_n( arr, n, ostream_iterator<string>(cout,"") );
}

#8
komorebi01102020-03-18 15:54
非常感谢!
1