C语言对三个数进行排序
时间: 2024-10-04 20:03:57 浏览: 36
C语言三个数排列大小的实现方法
5星 · 资源好评率100%
在C语言中,有多种算法可以对三个数进行排序,最简单的可能是直接比较的方式,例如选择排序。下面是一个基本的选择排序示例,它会通过多次遍历来找到最小值并交换位置,直到三个数排列完成:
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sortThreeNumbers(int arr[]) {
int num1 = arr[0], num2 = arr[1], num3 = arr[2];
// 找到最小值并将其放在第一个位置
if (num1 > num2) {
if (num2 > num3)
swap(&arr[0], &arr[2]);
else if (num1 > num3)
swap(&arr[0], &arr[1]);
} else {
if (num1 > num3)
swap(&arr[0], &arr[1]);
else if (num2 > num3)
swap(&arr[1], &arr[2]);
}
// 如果需要,再对剩余两个数进行排序
if (arr[0] != arr[1]) {
if (arr[0] > arr[1]) {
swap(&arr[0], &arr[1]);
}
}
}
int main() {
int numbers[] = {5, 2, 8};
printf("Before sorting: %d, %d, %d\n", numbers[0], numbers[1], numbers[2]);
sortThreeNumbers(numbers);
printf("After sorting: %d, %d, %d\n", numbers[0], numbers[1], numbers[2]);
return 0;
}
```
这个程序首先假设前两个数已经排好序了,然后只处理第三个数。如果数组中有四个或更多的元素,就需要循环来进行更全面的排序。
阅读全文