c语言用选择法对十个整数排序
时间: 2023-11-21 22:25:18 浏览: 32
好的,以下是用选择法(Selection Sort)对十个整数进行排序的C语言代码:
```c
#include <stdio.h>
int main()
{
int arr[10] = {5, 2, 9, 4, 7, 1, 8, 3, 6, 0}; // 待排序的数组
int i, j, min_idx, temp;
// 选择法排序
for (i = 0; i < 9; i++) {
min_idx = i;
for (j = i + 1; j < 10; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
// 输出排序后的结果
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上代码中,我们首先定义了一个包含十个整数的数组 `arr`,然后使用选择法对其进行排序。选择法的基本思想是,每一轮从未排序的元素中选择最小的一个,与当前位置的元素交换位置,直到所有元素都排好序。最后,我们输出排好序后的结果。
相关问题
C语言用选择法对10个整数排序
以下是C语言用选择法对10个整数排序的代码实现:
```c
#include <stdio.h>
void sort(int b[10], int n) {
int i, j, k, m;
for (i = 0; i < n; i++) {
k = i; // 假设初始值为最大值
for (j = i + 1; j < n; j++) {
if (b[j] > b[k]) k = j; // 求出每一轮比较的最大值
}
if (k != i) {
m = b[i];
b[i] = b[k];
b[k] = m; // b[i]和b[k]数值互换,使得该轮比较后b[i]为最大值
}
}
}
int main() {
int i, a[10];
printf("请输入十个整数:\n");
for (i = 0; i < 10; i++) scanf("%d", &a[i]); // 用scanf输入数组
sort(a, 10); // 调用排序函数
printf("用选择法对十个整数从大到小排序结果为:\n");
for (i = 0; i < 10; i++) printf("%5d", a[i]);
printf("\n");
return 0;
}
```
C语言用选择法对10个整数排序。
好的,下面是C语言代码实现选择排序算法对10个整数进行排序:
```c
#include <stdio.h>
void selectionSort(int arr[], int n)
{
int i, j, min_idx;
// One by one move boundary of unsorted subarray
for (i = 0; i < n-1; i++)
{
// Find the minimum element in unsorted array
min_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
// Swap the found minimum element with the first element
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
int main()
{
int arr[] = {64, 25, 12, 22, 11, 75, 27, 44, 36, 98};
int n = 10, 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` 函数,它的参数包括一个整数数组和数组长度。然后我们使用两个 for 循环来实现选择排序。外层循环用于遍历整个数组,内层循环用于在未排序的部分中查找最小值。当内层循环结束后,我们将找到的最小值和未排序部分的第一个元素进行交换。这样,最小值就被放到了正确的位置。当外层循环结束后,整个数组就被排序了。
在 `main` 函数中,我们定义一个整数数组,然后调用 `selectionSort` 函数来对其进行排序。最后我们将排序后的数组输出到控制台上。