请用C语言将输入的任意打乱的整数数组,用选择排序按从小到大的顺序排列好。
时间: 2024-02-17 12:05:07 浏览: 79
好的,下面是使用选择排序算法对输入的整数数组进行从小到大排序的C语言代码:
```c
#include <stdio.h>
void selectionSort(int arr[], int n) {
int i, j, min, temp;
for (i = 0; i < n - 1; i++) {
min = i;
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[min]) {
min = j;
}
}
temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
int main() {
int arr[] = {5, 2, 8, 1, 3};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Original array: ");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
selectionSort(arr, n);
printf("\nSorted array: ");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在这个程序中,我们定义了一个名为`selectionSort`的函数来执行选择排序算法。这个函数接收两个参数:一个整数数组和数组的大小。在函数中,我们使用两个嵌套的循环来遍历数组并找到每次迭代中最小的元素,然后将其与数组的第一个元素交换。这样循环进行n-1次后,整个数组就会被排列成从小到大的顺序。
在`main`函数中,我们首先打印出原始的未排序数组,然后调用`selectionSort`函数对数组进行排序,并打印出排序后的结果。
请注意,这个程序中的数组是手动初始化的,如果你需要从用户输入中读取一个未排序的整数数组,可以使用`scanf`函数从标准输入中读取输入。
阅读全文