📜  C测验– 111 |问题4(1)

📅  最后修改于: 2023-12-03 15:30:15.359000             🧑  作者: Mango

C测验-111 | 问题4

简介

这是一道关于C语言的编程问题,旨在测试程序员对数组和指针概念的掌握程度。

问题描述

编写一个函数arrsum,接收一个整型数组和数组的大小作为参数,返回数组中所有元素的和。

函数原型:int arrsum(int arr[], int size);

解题思路

解决这道问题,需要用到C语言中的指针和数组的基本概念。

在函数传递数组参数时,实际上是传递了指向数组第一个元素的指针。因此,在函数arrsum中可以通过传递的数组指针来访问数组元素,并求出它们的总和。

实现的具体步骤如下:

  1. 定义一个变量sum,用于累加数组元素的总和。

  2. 使用一个循环遍历整个数组,将每个元素的值累加到sum中。

  3. 返回sum的值作为函数结果。

代码实现
int arrsum(int arr[], int size) {
    int sum = 0;
    for (int i = 0; i < size; i++) {
        sum += arr[i];
    }
    return sum;
}
测试样例

可以使用以下测试样例来检验arrsum函数是否正确实现:

#include <stdio.h>

int arrsum(int arr[], int size);

int main() {
    int arr1[] = {1, 2, 3, 4, 5};
    int arr2[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};

    printf("arr1 sum = %d\n", arrsum(arr1, 5));
    printf("arr2 sum = %d\n", arrsum(arr2, 10));
    
    return 0;
}

Output:
arr1 sum = 15
arr2 sum = 550
结语

本题考察了程序员的基本能力和对指针、数组的理解能力。希望大家在解决这个问题时,不仅能够考虑实现功能,也要能够写出高效、简洁的代码。