将10个数的最小值换到最前面的位置C语言指针
时间: 2024-12-04 08:26:15 浏览: 9
在C语言中,如果你想将一个包含10个数的一维数组的最小值移动到第一个位置,可以借助一个指针和一个临时变量。这里是一个简单的示例:
```c
#include <stdio.h>
void swap_min_to_first(int* arr, int n) {
// 初始化最低值为数组的第一个元素
int min_val = arr[0];
int min_index = 0;
// 遍历数组
for (int i = 1; i < n; ++i) {
// 比较当前元素与已知最小值
if (arr[i] < min_val) {
min_val = arr[i];
min_index = i; // 更新最小值的索引
}
}
// 交换最小值和第一个元素
if (min_index != 0) {
int temp = arr[min_index];
arr[min_index] = arr[0];
arr[0] = temp;
}
}
int main() {
int numbers[] = {9, 5, 7, 3, 6, 1, 8, 2, 4, 10};
const int size = sizeof(numbers) / sizeof(numbers[0]);
printf("原始数组: ");
for (int i = 0; i < size; ++i) {
printf("%d ", numbers[i]);
}
swap_min_to_first(numbers, size);
printf("\n交换后数组: ");
for (int i = 0; i < size; ++i) {
printf("%d ", numbers[i]);
}
return 0;
}
```
这段代码首先找到数组中的最小值及其索引,然后用一个临时变量存储最小值,再将其与第一个元素互换。注意,这里假设数组至少有2个元素。
阅读全文