4、数组中求最小元素(无序) (1)算法描述 先自己设一个min,然后遍历整个数组。一个一个比较,如果某数比min小则将min赋值为该数,继续比较,直到遍历完整个数组,找出最小的元素,并确定其对应的下标。用c语言编写代码实现此算法描述
时间: 2025-01-05 17:45:01 浏览: 7
这个算法就是简单的线性查找法,可以利用C语言的`for`循环结构来实现。以下是代码:
```c
#include <stdio.h>
#include <limits.h> // 引入整型最大值,防止意外溢出
int findMin(int arr[], int n) {
// 初始化最小值为数组的第一个元素
int min = arr[0];
// 初始化最小值的索引为0
int min_index = 0;
// 遍历数组
for (int i = 1; i < n; i++) {
// 如果当前元素小于已知的最小值
if (arr[i] < min) {
// 更新最小值和其索引
min = arr[i];
min_index = i;
}
}
return min_index; // 返回找到的最小值的索引
}
int main() {
int size;
printf("Enter the size of the array: ");
scanf("%d", &size);
int arr[size]; // 创建一个指定大小的整型数组
printf("Enter %d numbers: ", size);
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
int min_index = findMin(arr, size); // 调用函数找最小值的索引
printf("The smallest element in the array is at index %d with value %d.\n", min_index, arr[min_index]);
return 0;
}
```
阅读全文