C语言学习( ・´ω`・ )

32 阅读2分钟

ヾ(=・ω・=)o课堂练习

image.png

代码如下:

#include <stdio.h>


void printArr(int arr[],int len){
    for(int i=0;i<len;i++){
        printf("%d\n", arr[i]);
    }
}

int main(){
    // arr[5]类型的数组
    int arr1[]={1,2,3,4,5};
    int arr2[]={7,8,9};

    printArr(arr1,sizeof(arr1)/sizeof(arr1[0]));
    printArr(arr2,sizeof(arr2)/sizeof(arr2[0]));

    // for(int i=0;i<5;i++){
    //     printf("%d\n", arr[i]);
    // }
    // printf("在函数中传入数组");
    return 0;
}

运行结果如下:

image.png

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

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

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

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

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

int findValue(int arr[], int len, int val) {

代码如下:

#include <stdio.h>

// 任务1:计算数组所有元素的和
int getArrSum(int arr[], int len) {
    int sum = 0;
    for (int i = 0; i < len; i++) {
        sum += arr[i];
    }
    return sum;
}

// 任务2:找出数组中的最大值
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:查找值的下标,找不到返回-1
int findValue(int arr[], int len, int val) {
    for (int i = 0; i < len; i++) {
        if (arr[i] == val) {
            return i; 
        }
    }
    return -1; 
}


int main() {
    int testArr[] = {12, 45, 7, 89, 23, 56};
    int len = sizeof(testArr) / sizeof(testArr[0]); 

    // 测试任务1:求和
    int sum = getArrSum(testArr, len);
    printf("数组元素总和:%d\n", sum);

    // 测试任务2:找最大值
    int max = getArrMax(testArr, len);
    printf("数组最大值:%d\n", max);

    // 测试任务3:查找值
    int findVal1 = 89;
    int index1 = findValue(testArr, len, findVal1);
    if (index1 != -1) {
        printf("值 %d 的下标:%d\n", findVal1, index1);
    } else {
        printf("未找到值 %d\n", findVal1);
    }

    int findVal2 = 100;
    int index2 = findValue(testArr, len, findVal2);
    if (index2 != -1) {
        printf("值 %d 的下标:%d\n", findVal2, index2);
    } else {
        printf("未找到值 %d\n", findVal2);
    }

    return 0;
}

运行结果如下:

image.png

image.png