求最值。输入n,再输入任意n个整数到一维数组中。然后输出一维数组中的最小值及它所对应的下标。C语言
时间: 2024-12-29 22:37:01 浏览: 16
在C语言中,求一维数组中最小值及其对应下标可以采用遍历数组的方式。以下是一个简单的示例程序:
```c
#include <stdio.h>
// 函数声明,返回数组中的最小值及其下标
void find_min(int arr[], int n, int *min_value, int *min_index);
int main() {
int n;
printf("请输入数组的长度:");
scanf("%d", &n);
// 声明和初始化一个整型数组
int array[n];
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个元素:", i + 1);
scanf("%d", &array[i]);
}
// 声明并初始化结果变量
int min_value, min_index;
min_value = array[0]; // 先假设第一个元素是最小值
min_index = 0;
// 调用函数找到最小值和它的下标
find_min(array, n, &min_value, &min_index);
// 输出结果
printf("最小值为:%d,下标为:%d\n", min_value, min_index);
return 0;
}
// 函数定义,寻找数组中的最小值和下标
void find_min(int arr[], int n, int *min_value, int *min_index) {
for (int i = 1; i < n; i++) { // 开始从第二个元素比较
if (arr[i] < *min_value) { // 如果当前元素小于已知最小值
*min_value = arr[i]; // 更新最小值
*min_index = i; // 更新最小值的下标
}
}
}
```
在这个程序中,我们首先获取数组的长度和元素,然后通过`find_min`函数遍历整个数组,如果发现更小的元素就更新`min_value`和`min_index`。最后,我们在主函数里打印出结果。
阅读全文