题解 | #牛牛的新数组求和#

牛牛的新数组求和

https://www.nowcoder.com/practice/bdd2cd6638f849cfa06216198e8eb967

一、自己原先解法

#include <stdio.h>

int cal(int* array, int n) {
    int ret = 0;
    for (int i = 0; i < n; i++) {
        ret += array[i];
    }
    return ret;
}

int main() {
    int arr[100];
    int n;
    int num;
    int sum;

    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &num);
        arr[i] = num;
    }

    sum = cal(arr, n);

    printf("%d", sum);

    return 0;
}

二、看别人之后,改进的解法

#include <stdio.h>
#include <stdlib.h>

int cal(int* array, int n) {
    int ret = 0;
    for (int i = 0; i < n; i++, array++) {
        ret += *array;
    }
    return ret;
}

int main() {
    int n;
    int num;
    int sum;

    scanf("%d", &n);
    int* arr = (int*)malloc(n * sizeof(int));
    for (int i = 0; i < n; i++) {
        scanf("%d", &num);
        arr[i] = num;
    }

    sum = cal(arr, n);

    printf("%d", sum);

    return 0;
}

心得:

学会使用malloc函数动态申请内存。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务