pta函数题数组中选择两个最小值c语言
时间: 2024-10-11 17:02:31 浏览: 39
在C语言中,为了找到数组中的两个最小值,我们可以创建一个简单的算法,通常会涉及到一对变量来保存当前找到的最小值和第二小值。这里是一个基本的示例:
```c
#include <stdio.h>
void findTwoMin(int arr[], int n) {
if (n < 2) {
printf("Array must have at least two elements.\n");
return;
}
// 初始化最小值和第二小值
int min = arr[0], second_min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < min) { // 如果当前元素比已知最小值还小
second_min = min; // 更新第二小值
min = arr[i]; // 最小值更新为当前元素
} else if (arr[i] < second_min && arr[i] != min) { // 如果当前元素介于两者之间
second_min = arr[i]; // 第二小值更新为当前元素
}
}
printf("The two smallest values are: %d and %d\n", min, second_min);
}
int main() {
int arr[] = {5, 3, 8, 1, 9, 2};
int size = sizeof(arr) / sizeof(arr[0]);
findTwoMin(arr, size);
return 0;
}
```
在这个程序中,`findTwoMin` 函数遍历数组,每次遇到更小的数就更新最小值和第二小值。如果遇到一个既不是最小值也不是第二小值,但比第二小值小的数,就会更新第二小值。
阅读全文