一维数组求最小值及其下变,用c语言
时间: 2024-09-19 13:10:45 浏览: 33
基于数组指针实现二维数组中最小值所在行的查找与显示程序
在C语言中,求一维数组的最小值并记录其下标,可以使用循环遍历数组,并在每次迭代中更新最小值以及对应的下标。下面是一个简单的示例:
```c
#include <stdio.h>
// 函数声明,返回数组中的最小值和其下标
void findMin(int arr[], int size, int *minValue, int *minIndex);
int main() {
int arr[] = {5, 9, 1, 7, 3};
int size = sizeof(arr) / sizeof(arr[0]);
int minValue, minIndex;
// 初始化最小值和下标为数组的第一个元素
minValue = arr[0];
minIndex = 0;
findMin(arr, size, &minValue, &minIndex);
printf("Minimum value is %d at index %d\n", minValue, minIndex);
return 0;
}
// 查找函数
void findMin(int arr[], int size, int *minValue, int *minIndex) {
for (int i = 1; i < size; i++) {
if (arr[i] < *minValue) {
*minValue = arr[i]; // 更新最小值
*minIndex = i; // 更新最小值下标
}
}
}
```
在这个例子中,`findMin`函数接受数组、数组大小以及指向最小值和下标的指针。通过比较当前元素和已知的最小值,如果当前元素更小,则更新这两个变量。主函数中调用这个函数,并在结束后输出最小值及其索引。
阅读全文