题解:洛谷 P5715 【深基3.例8】三位数排序

【题目来源】

洛谷:P5715 【深基3.例8】三位数排序 - 洛谷

【题目描述】

给出三个整数 \(a,b,c(0\le a,b,c\le 100)\),要求把这三位整数从小到大排序。

【输入】

输入三个整数 \(a,b,c\),以空格隔开。

【输出】

输出一行,三个整数,表示从小到大排序后的结果。

【输入样例】

1 14 5

【输出样例】

1 5 14

【算法标签】

《洛谷 P5715 三位数排序》 #模拟#

【代码详解】

#include <bits/stdc++.h>  // 包含标准库头文件(万能头文件)
using namespace std;      // 使用标准命名空间

/**
 * 主函数 - 程序入口
 * @return 程序执行状态码(0表示成功)
 */
int main()
{
    int a, b, c;         // 定义三个待排序的整数
    cin >> a >> b >> c;   // 输入三个整数
    
    // 方法一(注释掉的原始方案):多重条件判断排序
    // if (a<=b && a<=c) {
    //     a1 = a;
    //     b1 = b;
    //     c1 = c;
    // } else if (b<=a && b<=c) {
    //     a1 = b;
    //     b1 = a;
    //     c1 = c;
    // } else {
    //     a1 = c;
    //     b1 = a;
    //     c1 = b;
    // }
    // if (b1<=c1) {
    //     cout << a1 << " " << b1 << " " << c1;
    // } else {
    //     cout << a1 << " " << c1 << " " << b1;
    // }
    
    // 方法二(实际采用的方案):使用swap函数进行冒泡排序
    if (a > b) 
    {
        swap(a, b);      // 保证a <= b
    }
    if (b > c)
    {
        swap(b, c);      // 保证b <= c(此时c是最大值)
    }
    if (a > b) 
    {
        swap(a, b);      // 再次保证a <= b
    }
    
    // 输出排序结果(使用printf保证格式统一)
    printf("%d %d %d", a, b, c);
    
    return 0;            // 程序正常结束
}

【运行结果】

1 14 5
1 5 14 
posted @ 2026-02-16 08:15  团爸讲算法  阅读(6)  评论(0)    收藏  举报