使用C语言用选择法排序一个由用户输入的一维数组
时间: 2024-06-12 21:05:01 浏览: 136
c语言选择排序法
5星 · 资源好评率100%
以下是使用C语言编写选择法排序的代码,该程序要求用户输入一个一维数组,然后对其进行排序:
```c
#include <stdio.h>
void selection_sort(int arr[], int n);
int main() {
int n;
printf("Enter the number of elements: ");
scanf("%d", &n);
int arr[n];
printf("Enter the elements: ");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
selection_sort(arr, n);
printf("Sorted array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
void selection_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int min_idx = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
```
在此程序中,`selection_sort()`函数使用选择法排序算法对数组进行排序。该算法的基本思想是在待排序的元素中选择最小的元素,然后将其放在第一个位置。接着,在剩余的元素中再选择最小的元素,将其放在第二个位置。如此重复,直到所有元素都被排序。
在`main()`函数中,程序首先提示用户输入数组的大小,然后使用`scanf()`函数读取用户输入的值。接着,程序创建一个大小为`n`的数组,并提示用户输入数组的元素。使用`for`循环,程序按顺序读取用户的输入并将其存储在数组中。然后,程序调用`selection_sort()`函数对数组进行排序,并使用`for`循环打印已排序的数组。
此程序使用选择法排序算法对数组进行排序,可以处理任何类型的数据,只需将数组声明为相应类型即可。
阅读全文