题目描述
从键盘输入三个整数x,y和z,按从大到小的顺序输出它们的值。
输入
输入三个整数x,y和z。
输出
按从大到小的顺序输出它们的值。
样例输入 Copy
20 16 18样例输出 Copy
20 18 16
思路:
通过两个 if 判断和交换将最大值放到 a 中,然后将次大值放到 b 中,最小值放到 c 中
#include <stdio.h>
void swap(int *a, int *b){
int c = *a;
*a = *b;
*b = c;
}
int main(){
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
//前两个if保证a是最大值
if(a < b)
swap(&a, &b);
if(a < c)
swap(&a, &c);
//保证b是次大值
if(b < c)
swap(&b, &c);
printf("%d %d %d\n", a, b, c);
return 0;
}