ヾ(=・ω・=)o课堂练习
代码如下:
#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;
}
运行结果如下:
任务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;
}
运行结果如下: