编写函数找出一维数组中的最大元素及其下标,在主函数中输入、输出,要求不得使用全局变量
时间: 2024-03-12 18:46:39 浏览: 64
设计一个函数, 找到数组中的最大值以及下标。
好的,我可以帮您编写这个函数。以下是函数的代码:
```c
#include <stdio.h>
void findMax(int arr[], int size, int *max, int *index) {
*max = arr[0];
*index = 0;
for (int i = 1; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i];
*index = i;
}
}
}
int main() {
int arr[100], size, max, index;
printf("请输入数组的大小:");
scanf("%d", &size);
printf("请输入数组元素:");
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
findMax(arr, size, &max, &index);
printf("最大元素为:%d,下标为:%d\n", max, index);
return 0;
}
```
函数 `findMax` 接收一个一维数组 `arr`,数组大小 `size`,最大元素的指针变量 `max`,最大元素下标的指针变量 `index`。函数通过遍历数组找到最大元素及其下标,并将结果存储在指针变量中。
在主函数中,我们先输入数组的大小和元素,然后调用 `findMax` 函数,并输出结果。注意,在调用 `findMax` 函数时,我们需要将指针变量的地址传递给函数,这样函数才能将结果存储在正确的位置。
希望这个函数能够帮到您。
阅读全文