问题 J: C语言实习题二——5.按从大到小排序三个数
时间限制: 1 Sec 内存限制: 128 MB
题目描述
从键盘输入三个数,将它们按从大到小进行排序,然后输出。
输入
输入三个数。
输出
按从大到小进行排序后的三个数。
样例输入
3 4 5
样例输出
排序前:3, 4, 5 排序后:5, 4, 3
提示
1、分析
① 先将a、b进行比较,把大的存入a中、小的存入b中;
② 然后将a、c进行比较,把大的存入a中、小的存入c中;
③ 最后再将b、c进行比较,把较大的存入b中、小的存入c中,即完成排序。
2、提示
可通过流程图帮助理解,可借助中间变量t完成交换。
3、输入输出:
scanf("%d%d%d",&a, &b, &c); /*由键盘输入3个数*/
printf("排序前:%d, %d, %d\n", a, b, c);
printf("排序后:%d, %d, %d\n", a, b, c);
代码实现
#include <stdio.h>
int main() {
int a, b, c;
int tmp;
scanf("%d%d%d", &a, &b, &c);
printf("排序前:%d, %d, %d\n", a, b, c);
if (a < b) {
tmp = a;
a = b;
b = tmp;
}
if (a < c) {
tmp = a;
a = c;
c = tmp;
}
if (b < c) {
tmp = b;
b = c;
c = tmp;
}
printf("排序后:%d, %d, %d\n", a, b, c);
return 0;
}