在C语言中,实现三个数从小到大排序的方法主要有以下两种:
一、条件判断法(通过if语句比较交换)
-
输入三个整数a、b、c
-
通过三重if语句比较大小:
-
若a>b,交换a与b
-
若a>c,交换a与c
-
若b>c,交换b与c
-
-
输出排序后的结果
示例代码:
#include<stdio.h>
int main() {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a>b) {int temp=a;a=b;b=temp;}
if(a>c) {int temp=a;a=c;c=temp;}
if(b>c) {int temp=b;b=c;c=temp;}
printf("%d %d %d
",a,b,c);
return 0;
}
二、冒泡排序法(适用于扩展到更多元素)
-
定义一个包含三个整数的数组
-
通过两层循环比较相邻元素并交换
-
输出排序后的数组
示例代码:
#include<stdio.h>
void bubble_sort(int arr[], int n) {
for(int i=0; i<n-1; i++) {
for(int j=0; j<n-i-1; j++) {
if(arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
int arr = {a,b,c};
bubble_sort(arr,3);
printf("从小到大排序后的结果为:%d %d %d
",arr,arr,arr);
return 0;
}
两种方法均可实现目标,条件判断法更简洁,冒泡排序法可扩展至更多元素。