鲨鱼辣椒说你很菜 2021-09-30 15:05 采纳率: 85.7%
浏览 35
已结题

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

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

  • 写回答

3条回答 默认 最新

  • qfl_sdu 2021-09-30 15:40
    关注
    
    #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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月13日
  • 已采纳回答 10月13日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题