函数中传入数组的练习

14 阅读1分钟

1.定义一个函数,他的参数是数组,返回值是数组中的所有元素的和

#include<stdio.h>
int getSum(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\n", getSum(arr, 3));
}

结果如下:

image.png

2.定义一个函数,他的参数是数组,返回值是数组中的所有元素的最大值

#include<stdio.h>
int getMax(int arr[], int len) {

    int max = arr[0]; 
    for (int i = 1; i < len; i++) { 
        if (arr[i] > max) {
            max = arr[i]; 
        }
    }
    
    return max;
}

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

int main() {
    int arr[5] = {1, 3, 5, 7, 10};
    int len1 = sizeof(arr) / sizeof(arr[0]); 

    printArr(arr, len1);
    int maxValue = getMax(arr, len1);
    printf("数组最大值:%d\n", maxValue);

    return 0;
}

结果如下:

image.png

3.义一个函数,他的参数是数组,和要查找的值。如果在这个数组中,能找到,则返回第一个找到的值的下标,如果找不到,则返回-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", findArrValue(arr, 3, 10)); // 2
	printf("%d\n", findArrValue(arr, 3, -10)); // -1
}

结果如下:

image.png