【问题标题】:Convert to a recursive function转换为递归函数
【发布时间】:2023-01-13 01:39:44
【问题描述】:

描述一个确定变量个数的递归函数 非零数组中的符号。 我是在非递归的情况下完成的,但我需要在递归的情况下进行。

int recur_change_sign(int* arr, int n) {
    int count = 0;
    for (int i = 0; i < n - 1; i++) {
        if ((arr[i] < 0 && arr[i + 1] >= 0) || (arr[i] >= 0 && arr[i + 1] < 0)) {
            count++;
        }
    }
    return count;
}

【问题讨论】:

    标签: visual-c++


    【解决方案1】:

    你可以像这样很容易地实现它:

    int recur_change_sign(int* arr, int n) {
        if (n <= 1) return 0;
        return ((arr[0] < 0 && arr[1] >= 0) || (arr[0] >= 0 && arr[1] < 0)) + recur_change_sign(arr + 1, n - 1);
    }
    

    【讨论】:

    • 非常感谢你
    猜你喜欢
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多