12.25 任务

129 阅读2分钟

任务1: 定义一个函数,它的参数是int数组,它的返回值是数组中的所有元素的和。

int getArrSum(int arr[], int len){ }

任务2: 定义一个函数,它的参数是int数组,它的返回值是数组中的所有元素的最大值。

int getArrMax(int arr[], int len){ }

任务3: 定义一个函数,它的参数是int数组,和要查找的值。如果在这个数组中,能找到,则返回第一个找到的值的下标; 如果找不到,则返回-1

总体:

#include <stdio.h>

/*
任务1:求int数组所有元素的和
参数:arr - 待求和的数组;len - 数组实际长度
返回值:数组元素总和
*/
int getArrSum(int arr[], int len) {
    int sum = 0; // 初始化总和为0
    for (int i = 0; i < len; i++) {
        sum += arr[i]; // 累加每个数组元素
    }
    return sum; // 返回总和
}

/*
任务2:求int数组所有元素的最大值
参数:arr - 待查找最大值的数组;len - 数组实际长度
返回值:数组元素的最大值
*/
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:查找数组中指定值的首个下标
参数:arr - 待查找的数组;len - 数组实际长度;val - 要查找的目标值
返回值:找到则返回首个下标,未找到返回-1
*/
int findArrValue(int arr[], int len, int val) {
    for (int i = 0; i < len; i++) {
        if (arr[i] == val) { // 找到匹配元素,立即返回下标
            return i;
        }
    }
    return -1; // 未找到目标值,返回-1
}

// 主函数:测试三个任务的函数功能
int main() {
    int testArr[5] = {1, 2, 3, 4, 5}; // 测试数组
    int arrLength = 5; // 数组长度
    int targetValue = 3; // 要查找的目标值

    // 调用任务1函数并输出结果
    int totalSum = getArrSum(testArr, arrLength);
    printf("数组元素总和:%d\n", totalSum);

    // 调用任务2函数并输出结果
    int maxNum = getArrMax(testArr, arrLength);
    printf("数组元素最大值:%d\n", maxNum);

    // 调用任务3函数并输出结果
    int targetIndex = findArrValue(testArr, arrLength, targetValue);
    if (targetIndex != -1) {
        printf("元素%d的首个下标:%d\n", targetValue, targetIndex);
    } else {
        printf("未找到元素%d\n", targetValue);
    }

    return 0;
}

结果:

image.png

任务1:

#include <stdio.h>
int getArrSum(int arr[], int len) {
    int sum = 0; // 初始化总和为0
    for (int i = 0; i < len; i++) {
        sum += arr[i]; // 累加每个数组元素
    }
    return sum; // 返回总和
}

任务2:

#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; // 返回最大值
}

任务3:

#include <stdio.h>
int findArrValue(int arr[], int len, int val) {
    for (int i = 0; i < len; i++) {
        if (arr[i] == val) { // 找到匹配元素,立即返回下标
            return i;
        }
    }
    return -1; // 未找到目标值,返回-1
}