用c语言函数求一个含有若干整数的数组中的最大值和最小值,并输出它们的下标
时间: 2024-12-22 10:32:46 浏览: 6
在C语言中,你可以通过遍历数组并使用两个变量分别存储当前找到的最大值和最小值以及对应的下标来实现这个功能。以下是一个简单的示例:
```c
#include <stdio.h>
// 函数声明,接收整数数组和其长度
void findMinMax(int arr[], int n, int* min_index, int* max_index);
int main() {
int numbers[] = {5, 3, 9, 1, 7};
int size = sizeof(numbers) / sizeof(numbers[0]);
int min_index, max_index;
// 调用函数,传入数组、长度和下标指针
findMinMax(numbers, size, &min_index, &max_index);
printf("Minimum value is %d at index %d\n", numbers[min_index], min_index);
printf("Maximum value is %d at index %d\n", numbers[max_index], max_index);
return 0;
}
// 定义函数 findMinMax
void findMinMax(int arr[], int n, int* min_index, int* max_index) {
*min_index = 0; // 初始化最小值下标为0
*max_index = 0; // 初始化最大值下标为0
// 遍历数组
for (int i = 1; i < n; i++) {
if (arr[i] < arr[*min_index]) { // 如果当前元素比当前最小值还小
*min_index = i; // 更新最小值下标
} else if (arr[i] > arr[*max_index]) { // 同理,如果当前元素比当前最大值大
*max_index = i; // 更新最大值下标
}
}
}
```
在这个程序中,`findMinMax`函数会遍历数组,每当遇到更小或更大的元素时,它都会更新相应的最小值和最大值下标。主函数则调用这个函数,并在结束后输出结果。
阅读全文