求一维数组最小元素下标
时间: 2024-12-15 10:18:59 浏览: 9
要找到一维数组中的最小元素及其下标,你可以遍历整个数组,同时维护当前已知的最小值(min)和其对应的下标(min_index)。以下是一个简单的C语言示例:
```c
#include <stdio.h>
// 函数声明
int find_min_index(int arr[], int size);
int main() {
int array[] = {5, 3, 9, 1, 7};
int size = sizeof(array) / sizeof(array[0]);
int min_index = find_min_index(array, size);
printf("最小元素的下标是 %d,该元素是 %d\n", min_index, array[min_index]);
return 0;
}
// 定义辅助函数,返回最小元素的下标
int find_min_index(int arr[], int size) {
int min_index = 0; // 假设第一个元素是最小的
for (int i = 1; i < size; i++) {
if (arr[i] < arr[min_index]) {
min_index = i; // 更新最小值的下标如果找到更小的数
}
}
return min_index;
}
```
这个程序首先定义了一个函数`find_min_index`,它接受一个整型数组和它的大小。然后,在循环中,它比较每个元素与当前已知最小元素(初始时为数组的第一个元素),如果发现更小的数,就更新`min_index`。最后,函数返回`min_index`。
在主函数中,我们调用`find_min_index`并打印结果。
阅读全文