希望有人可以教我一下这个题

1.设计一个程序,输入4个整数,要求按照从小到大的顺序输出。(使用if语句)

我能用冒泡循环解出来,但是要求纯if语句,我觉得很离谱,怎么想都没有思路,恳请各位点一下思路,以下是我用冒泡循环解得过程

#include<iostream>
using namespace std;
int main() {
    //设计一个程序,输入四个整数,要求从小打到排序(if)
    int a, b, c, d;
    cin >> a >> b >> c >> d;
    int arr[4] = { a,b,c,d };
    //开始冒泡循环
    //外层循环为元素个数-1
    for (int i = 0;i < 4 - 1;i++)
    {
        //内层循环为元素个数-当前轮数-1
        for (int j = 0;j < 4 - i - 1;j++)
        {
            //若第一个数字比第二个大,交换
            if (arr[j] > arr[j + 1])
            {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    //结束循环,按顺序输出
    for (int i = 0;i < 4;i++)
    {
        cout << arr[i] << " ";
    }
    cout << endl;

    system("pause");
    return 0;
}


#include <iostream>
using namespace std;
//交换
void swap(int &a,int &b)
{
    int t;
    if(a>b)
    {
        t = a;
        a = b;
        b = t;
    }
}

int main()
{
    int a,b,c,d;
    cin >> a>>b>>c>>d;
    swap(a,b);
    swap(a,c);
    swap(a,d);
    swap(b,c);
    swap(b,d);
    swap(c,d);
    cout << a << " " << b << " "<< c << " " <<d<<endl;
    return 0;
}

不能用循环?

纯if语句?那不就是一个个去比较。第一次是4个数中找最小的并输出,第二次是3个数中找最小的并输出....,就是很啰嗦而已,代码一大堆。