ZZULIOJ题解
1022: 三整数排序
题目描述
从键盘输入三个整数x,y和z,按从大到小的顺序输出它们的值。
输入
输入三个整数x,y和z。
输出
按从大到小的顺序输出它们的值。
样例输入
20 16 18
样例输出
20 18 16
本题也是对条件语句的考察,更多是对逻辑性的考察,避免出现排序排着排着迷糊了,所以注释我会解释明白一些。但实际上逻辑不出问题就好。依旧可以借助一个变量去用来传递值
代码
#include<stdio.h>
int main()
{
int a,b,c,t;//定义四个整型变量a,b,c和t,t的作用是中转
scanf("%d %d %d",&a,&b,&c);//键盘读入a,b,c的值
//从大到小输出三个数,就把三个数最大的给a,最小的给c,再依次输出a,b,c即可
//这种情况,a是比b大的,所以如果不是,那就让这两个数交换值
if(b>a)
{t=a;
a=b;
b=t;}
//同理,a应该比c也大,再比较a和c的值,看看是否符合
if(c>a)
{t=a;
a=c;
c=t;}
//完成上面两步,a是最大的了,b和c两个数中,谁小谁应该是c
if(c>b)
{t=c;
c=b;
b=t;}
printf("%d %d %d",a,b,c);//输出已经排好序的三个数的值即可
return 0;//程序正常退出
}