C语言-比较三个数大小-并排序
一:
思路:
首先,假设num1最小,再把剩下的两个排序;
再者,假设num2最小,再把剩下的num1和num3比较;
最后,假设num3最小,再把剩下的num1和num3比较。
二:代码详细版A+简略版B
1.代码详细版A
#include<stdio.h>
//输入三个数并比较大小,按从小到大输出
int main(){
int num1;
int num2;
int num3;
printf("请输入三个数据\n");
scanf("%d %d %d",&num1,&num2,&num3);
printf("从小到大排序为: ");
if(num1 <= num2 && num1 <= num3){
printf("%d ",num1);
if(num2 <= num3){
printf("%d %d",num2,num3);
}else if(num3 <= num2){
printf("%d %d",num3,num2);
}
}else if(num2 <= num1 && num2 <= num3){
printf("%d ",num2);
if(num1 <= num3){
printf("%d %d",num1,num3);
}else if(num3 <= num1){
printf("%d %d",num3,num1);
}
}else if (num3 <= num1 &&num3 <= num2){
printf("%d ",num3);
if(num1 <= num2){
printf("%d %d",num1,num2);
}else if(num2 <= num1){
printf("%d,%d",num2,num1);
}
}
printf("==========");
printf("比较结束");
return 0;
}
2.简略版B
#include <stdio.h>
int main() {
int num1, num2, num3;
printf("请输入三个整数:");
scanf("%d %d %d", &num1, &num2, &num3);
printf("从小到大排序的结果为:");
if (num1 <= num2 && num1 <= num3) {
printf("%d ", num1);
if (num2 <= num3) {
printf("%d %d", num2, num3);
} else {
printf("%d %d", num3, num2);
}
} else if (num2 <= num1 && num2 <= num3) {
printf("%d ", num2);
if (num1 <= num3) {
printf("%d %d", num1, num3);
} else {
printf("%d %d", num3, num1);
}
} else {
printf("%d ", num3);
if (num1 <= num2) {
printf("%d %d", num1, num2);
} else {
printf("%d %d", num2, num1);
}
}
return 0;
}
三:结果
以上