c语言由键盘任意输入10个整形数据,将其按由大到小的顺序排序后输出(用选择排序)。
时间: 2024-05-04 08:17:19 浏览: 20
好的,以下是C语言代码实现:
```c
#include <stdio.h>
void selectionSort(int arr[], int n)
{
int i, j, max_idx, temp;
for (i = 0; i < n-1; i++)
{
max_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] > arr[max_idx])
max_idx = j;
temp = arr[max_idx];
arr[max_idx] = arr[i];
arr[i] = temp;
}
}
int main()
{
int arr[10];
int i;
printf("请输入10个整数:\n");
for(i = 0; i < 10; i++)
scanf("%d", &arr[i]);
selectionSort(arr, 10);
printf("从大到小排序后的结果是:\n");
for(i = 0; i < 10; i++)
printf("%d ", arr[i]);
return 0;
}
```
这里使用了选择排序算法,具体实现过程是先找到未排序部分中的最大值,将其与未排序部分的开头元素交换位置,然后将未排序部分的开头向后移动一个位置。在这个过程中,数组的长度逐渐缩小,最终得到一个有序的数组。