数组最小值置首用 c 语言
时间: 2024-10-19 20:11:01 浏览: 13
先找最小值所在的位置最后再换位:-c语言入门教程
在 C 语言中,你可以使用指针和一个临时变量来实现数组最小值置首的功能。以下是简单的实现步骤:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int find_min_and_move(int arr[], int n) {
int min_num = arr[0];
int min_index = 0;
// 遍历数组找最小值及其索引
for (int i = 1; i < n; i++) {
if (arr[i] < min_num) {
min_num = arr[i];
min_index = i;
}
}
// 将最小值与第一个元素交换
swap(&arr[0], &arr[min_index]);
return arr;
}
int main() {
int arr[] = {5, 2, 9, 1, 7};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
int result[] = find_min_and_move(arr, n);
printf("\nArray with minimum value at the front: ");
for (int i = 0; i < n; i++) {
printf("%d ", result[i]);
}
return 0;
}
```
在这个例子中,`find_min_and_move` 函数负责寻找并交换最小值,然后主函数打印原始数组和处理后的数组。注意,C语言不支持数组作为函数参数传递,所以这里创建了一个新的结果数组返回。
阅读全文