C语言:任意输入三个整数,从小到大输出(易懂)

要求:将输入的三个数中,从小到大输出

          解法:引入第四个“变量”,作为这3个数的中间存储空间进行转换!

         说到这边大家可能会觉得为什么要引入这个“变量呢”?

就这么说吧:   比如有三个人 张三李四王五,他们三各自有一把iPhone12,但是不同版本,有国行版、美版、港版。(大家都知道他们价格不同)现在要进行对比,然后进行排序,从价格便宜依次排到价格最贵(要求:张三拿的是最便宜的,然后依次是李四、王五)。

第一次: 张三王五进行对比(因为不可能三个人进行对比,两两比较大家学过数学都懂),如果没有“第四个人X”,那么这将比不了。因为待会王五把手机给了张三,张三给他弄坏了,或者是跑路了,这对王五没有安全保障,他肯定不乐意!

这时候就需要“第四个人 老王(他们的老师)”出来当中间人了,比如张三是拿“iPhone12 国行版”,但是按要求的话张三是排在第一个,拿在他手上的应该是“美版”。 然后王五拿的是“iPhone12港版”,这时候就需要进行转换了。

为了保证张三的“手机安全”,先是张三把手机交给“老王”,然后王五把手机交给“张三”后,“老王”再把手机交给“王五”  ,有了“老王“这个中间人。张三王五两人的手机都有了安全保障,两人才愿意进行此活动!       

第二次:将张三李四按“第一次”的方法进行交换手机。

第三次:将王五李四按照“第一次”的方法进行交换手机。

最后结果为:张三手里拿着“iPhone12 美版”,李四手机拿着“iPhone12 港版”,王五手里拿着“iPhone12 国行版”。

代码:

#include<stdio.h>

int main()

{

    int a,b,c,temp; //temp作为中间值

    printf("请分别输入a,b,c的值:\n");

    scanf("%d,%d,%d",&a,&b,&c);

    if(a > b)

    {

        temp = a; //先把a赋值给temp 这样才能实现转换

        a = b;         //若没有temp这个变量,把a赋值给b,那么b=a,如果再把b赋值给a,

                     //那么a依旧是原本的a,依旧>b,达不到咱们转换的效果。

        b = temp;   //最后把temp的值赋给b  达到 a与b两个值互换的结果

    }

    if(a > c)

    {

        temp = a;

        a = c;

        c = temp;

    }

    if(b > c)

    {

        temp = b;

        b = c;

        c = temp;

    }

    printf("%d,%d,%d\n",a,b,c);

    return 0;

}

提升版(指针):

#include<stdio.h>
int main()
{
    int one(int * a1,int * a2,int * a3);
    int a,b,c, * p1, * p2, * p3;
    printf("请任意输入三个整数:\n");
    scanf("%d%d%d",&a,&b,&c);
    p1 = &a;
    p2 = &b;
    p3 = &c;
    one(p1,p2,p3);
    printf("max=%d middle=%d min=%d",a,b,c);
}
int one(int * a1,int * a2,int * a3)
{
    int two(int * aq1,int * aq2);
    if( * a1 > * a2)
    {
        two(a1,a2);
    }
    if(* a1 > * a3)
    {
        two(a1,a3);
    }
    if(* a2 > * a3)
    {
        two(a2,a3);
    }
}
int two(int * aq1,int * aq2)
{
    int temp;
    temp = * aq1;
    * aq1 = * aq2;
    * aq2 = temp;
}

 喜欢我的文章,记得点赞+评论+收藏⭐️+关注の,你的反馈就是我不断更新的动力!

    原文作者:h阿泉有个梦
    原文地址: https://blog.csdn.net/weixin_51563198/article/details/119654077
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞