例题

40 阅读1分钟

代码如下:

#include <stdio.h>
int getArrSum(int arr[], int len) {
    int sum = 0;
    for (int i = 0; i < len; i++) {
        sum += arr[i]; 
    }
    return sum;
}

int main(){
	int arr[3] = {1,2,3};
	printf("%d",getArrSum(arr,3));
}

运行结果如下:

image.png

代码如下:

#include <stdio.h>
int getArrMax(int arr[], int len) {
    int max = arr[0]; 
    for (int i = 1; i < len; i++) {
        if (arr[i] > max) {
            max = arr[i]; 
        }
    }
    return max;
}
int main(){
	int arr[3] = {1,2,3};
	printf("%d",getArrMax(arr,3));
}

运行结果如下:

image.png

代码如下:

#include <stdio.h>
int getArrSum(int arr[], int len) {
    int sum = 0;
    for (int i = 0; i < len; i++) {
        sum += arr[i];
    }
    return sum;
}

// 任务2:定义一个函数,它的参数是int数组,它的返回值是数组中的所有元素的最大值。
int getArrMax(int arr[], int len) {
    // 假设说:第一个元素是最大的
    int max = arr[0];
    for (int i = 1; i < len; i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
    }
    return max;
}

// 任务3:定义一个函数,它的参数是int数组,和要查找的值。
// 如果在这个数组中,能找到,则返回第一个找到的值的下标;
// 如果找不到,则返回 -1
int findArrValue(int arr[], int len, int val) {
    int idx = -1; // 假设说找不到
    for (int i = 0; i < len; i++) {
        if (arr[i] == val) {
            idx = i;
            break;
        }
    }
    return idx;
}

int main() {
    int arr[3] = {1, 2, 10};
    printf("%d\n", getArrSum(arr, 3));
    printf("%d\n", getArrMax(arr, 3));
    printf("%d\n", findArrValue(arr, 3, 10)); // 2
    printf("%d\n", findArrValue(arr, 3, -10)); // -1
}

运行结果如下:

image.png