小编R d*_*ove的帖子

为什么我的程序无法对整数字符串进行排序?

我正在尝试解决一个非常简单的编码问题:

考虑一个数字字符串数组,其中每个字符串都是一个正数,范围从1到10 ^ 6位数。对数组元素按其整数值的降序或升序排序,然后在新行上打印排序后的数组的每个元素。

第一行包含一个整数n,该整数n表示字符串的数目。n行中的每一行都包含一个INTEGER STRING。

我的代码是:

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int i; string s;
    cin >> i;
    int j = i;
    string arr[i];
    int cntr = 0;
    while (i--){
        cin >> s;
        arr[cntr] = s;
        cntr++;
    }
    sort(arr, arr+j);

    for (auto c: arr)
        cout << c << endl;

}
Run Code Online (Sandbox Code Playgroud)

输入是

6
31415926535897932384626433832795
1
3
10
3
5
Run Code Online (Sandbox Code Playgroud)

我的输出结果是:

1
10
3
3
31415926535897932384626433832795
5
Run Code Online (Sandbox Code Playgroud)

如果我创建一个数组并手动向其添加整数字符串,则上述代码可以正常工作。那么,为什么从网站输入信息却会产生错误的结果呢?

PS:这是问题的链接:https : //www.hackerrank.com/challenges/big-sorting/problem

c++ sorting

1
推荐指数
1
解决办法
125
查看次数

标签 统计

c++ ×1

sorting ×1