1 条题解

  • 1
    @ 2026-9-23 19:34:29

    Sort神力

    我们不妨设置一个数组:

    a[4],这样就可以读入a[1] a[2] a[3]

    之后直接使用algorithmalgorithm库里边的sortsort函数就可以啦

    输出a[1] a[2] a[3]

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main(){
        int a[4];
        cin>>a[1]>>a[2]>>a[3];
        sort(a+1,a+4);
        cout<<a[1]<<' '<<a[2]<<' '<<a[3];
        return 0;
    }
    

    可是我不会使用sort怎么办……

    没关系,我们不妨设置三个数a,b,ca,b,c并将其读入

    之后怎么办呢?

    聪明的你肯定能够想到,如果a>ba>b,是不是要把aa和bb互换位置?

    之后把互换位置后的bb和cc去比较,如果b>cb>c,是不是要把bb和cc也互换一下位置?最后再检查一下aa和bb,如果a>ba>b也要继续换位。

    那么互换位置要怎么实现呢

    聪明的你又想到了swapswap函数……

    “停停停宝子,作为初学者的我不会”

    引入另一个变量xx,我们互换aa,bb的时候,首先把aa赋值给xx,之后把bb赋值给aa,最后把xx赋值给bb,就完成啦

    int x=a;
    a=b;
    b=x;
    //完成了a b的互换
    

    代码如下:

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main(){
        int a,b,c;
        cin>>a>>b>>c;
        if(a>b){
            int x=a;
            a=b,b=x;
            //可以是swap(a,b)
        }
        if(b>c){
            int x=b;
            b=c,c=x;
        }
        if(a>b){
            int x=a;
            a=b,b=x;
        }
        cout<<a<<' '<<b<<' '<<c;
        return 0;
    }
    

    信息

    ID
    43
    时间
    1000ms
    内存
    256MiB
    难度
    显示难度暂无评定
    标签
    (无)
    递交数
    10
    已通过
    6
    上传者