将数组最小值与第一个数交换C语言函数数组
时间: 2024-11-18 19:18:27 浏览: 39
C语言程序设计-输入一维数组的8个元素,并将最大值与最后一个数交换
5星 · 资源好评率100%
在C语言中,你可以创建一个名为`swap_min_with_first`的函数,用于将数组的第一个元素与数组中的最小值交换。下面是一个简单的示例:
```c
#include <stdio.h>
#include <limits.h> // 包含INT_MIN,用于找到最小值
void swap_min_with_first(int arr[], int size) {
if (size > 0) { // 检查数组非空
int min_index = 0; // 初始化最小值索引为0
for (int i = 1; i < size; i++) { // 从第二个元素开始查找最小值
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
// 交换第一个元素和最小元素
int temp = arr[0];
arr[0] = arr[min_index];
arr[min_index] = temp;
}
}
// 示例
int main() {
int arr[] = {5, 2, 9, 1, 7};
int size = sizeof(arr) / sizeof(arr[0]);
printf("Before swapping: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
swap_min_with_first(arr, size);
printf("After swapping with first element: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序首先找出数组中的最小值,然后将其与第一个元素互换。注意,这里假设数组包含至少两个元素。
阅读全文