问题 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;}