数组 - C 语言中的 DS HackerRank

问题描述 投票:0回答:2

代码在我的 Dev C++ IDE 上运行良好,但在 HackerRank IDE 上总是失败。

我有什么错误吗?

这是问题的链接:
https://www.hackerrank.com/challenges/arrays-ds/problem?isFullScreen=true

我写的函数如下,请解释一下哪里出错了?

int* reverseArray(int a_count, int* a, int* result_count) {
    int i, j;
    for(i=0; i<a_count; i++) {
        result_count[i] = a[i];
    }
    for(j=a_count-1; j>=0; j--) {
        printf("%d ",result_count[j]);
    }
    return result_count;
}
arrays c reverse
2个回答
0
投票

你的答案是正确的,你将数组1的元素从末尾复制到数组2的开头

如果你想在同一个数组中反转你的数组,你只需使用变量临时来交换元素,如下所示:

#include<stdio.h>

void* reverseArray(int a_count, int* a) //you return an array (type complexe) so ,you should use void    
{
    int temp=0;
    for(int i=0; i<a_count/2; i++)
    {
        temp= a[a_count-i-1];
        a[a_count-i-1]=a[i];
        a[i]=temp;
    }
    for(int i=0; i<a_count; i++)
    {
        printf("%d ",a[i]);
    }
}

int main()
{
     int t[5]={1,2,3,4,5};
     reverseArray(5,t);
}

0
投票

#!/bin/python3

导入操作系统

定义反向数组(a): 返回[::-1]

if name == 'main': fptr = open(os.environ['OUTPUT_PATH'], 'w')

arr_count = int(input().strip())

arr = list(map(int, input().rstrip().split()))

res = reverseArray(arr)

fptr.write(' '.join(map(str, res)))
fptr.write('\n')
© www.soinside.com 2019 - 2024. All rights reserved.