3:输入三个整数 x,y,z,请把这三个数由小到大输出。
分析:利用if-else 语句进行比较大小再而进行输出
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a>b){
if(b>c){
printf("三个数从小到大排序:%d %d %d",c,b,a);
}
else if(a>c){
printf("三个数从小到大排序:%d %d %d",b,c,a);
}
else{
printf("三个数从小到大排序:%d %d %d",b,a,c);
}
}
else if(b<c){
printf("三个数从小到大排序:%d %d %d",a,b,c);
}
else if(a>c){
printf("三个数从小到大排序:%d %d %d",c,a,b);
}
else{
printf("三个数从小到大排列:%d %d %d",a,c,b);
}
return 0;
}
答案正确但是看起来繁琐复杂下面对比答案
#include <stdio.h>
int main() {
int x, y, z, t;
printf("请输入三个数字(逗号隔开):");
scanf("%d,%d,%d", &x, &y, &z);
if (x > y) {
t = x;
x = y;
y = t;
}
if (x > z) {
t = z;
z = x;
x = t;
}
if (y > z) {
t = y;
y = z;
z = t;
}
printf("从小到大排序:%d %d %d",x,y,z);
return 0
}
将最小值都放在x,较大y,最大z最后直接输出x,y,z 值得学习减少复杂不需要一个一个排列
但是思路新奇想不到从整体来看从三个比较大小包括了所有排列 当输入从三个变成四个或五个时这个方法要省时很多