将3个数由小到大排序用C语言编译
时间: 2024-09-10 21:30:43 浏览: 55
在C语言中,对三个数进行排序可以使用选择排序、冒泡排序或者更高效的快速排序等算法。这里我将提供一个简单的选择排序示例,它适用于小型数据集:
```c
#include <stdio.h>
// 比较并交换函数
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 选择排序函数,用于从小到大排列数组中的3个数
void selectionSort(int arr[], int n) {
if (n <= 1)
return;
int minIndex = 0; // 初始化最小值索引
for (int i = 1; i < n; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
// 把找到的最小元素放在第一位
swap(&arr[0], &arr[minIndex]);
// 对剩余的2个元素递归地进行排序
selectionSort(arr, minIndex);
}
int main() {
int numbers[] = {5, 2, 8}; // 待排序的3个数字
int n = sizeof(numbers) / sizeof(numbers[0]);
printf("Original array:\t");
for (int i = 0; i < n; i++)
printf("%d ", numbers[i]);
selectionSort(numbers, n);
printf("\nSorted array in ascending order:\t");
for (int i = 0; i < n; i++)
printf("%d ", numbers[i]);
return 0;
}
```
运行这段代码,你会看到输入的3个数字按升序排列的结果。
阅读全文