对输入的任意三个数排序 逆序输入 c语言
时间: 2024-12-24 14:36:33 浏览: 2
C语言快速排序
5星 · 资源好评率100%
在 C 语言中,对任意三个整数进行排序并考虑逆序输入的情况,你可以使用选择排序(Selection Sort)算法。这是一种简单直观的排序方法,它的工作原理是每一步都从未排序的部分找出最小(或最大)的元素,然后放到已排序部分的末尾。以下是针对逆序输入的示例代码:
```c
#include <stdio.h>
void selection_sort(int arr[], int n) {
int i, j, min_idx;
// 遍历整个数组
for (i = 0; i < n - 1; i++) {
// 找到未排序部分中的最小值索引
min_idx = i;
for (j = i + 1; j < n; j++) {
if (arr[j] > arr[min_idx]) { // 如果当前元素比已找到的最小值还大
min_idx = j; // 更新最小值索引
}
}
// 将找到的最小值与当前位置交换
if (min_idx != i) {
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
}
}
int main() {
int a, b, c; // 逆序输入的三个数
printf("请输入三个逆序排列的数字:");
scanf("%d %d %d", &a, &b, &c); // 用户输入
// 使用 selection_sort 函数排序这三个数
selection_sort(&a, 1);
selection_sort(&b, 1);
selection_sort(&c, 1);
printf("排序后的数组:\n%d, %d, %d\n", a, b, c); // 输出排序结果
return 0;
}
```
在这个例子中,用户需要逆序输入三个数,程序会先接受输入,然后通过选择排序将它们升序排列。
阅读全文