c语言

---恢复内容开始---

4. 今天突然想起来一个问题,但一时又想不起方法

C语言编程题,从键盘输入任意3个数,按从小到大的顺序输出

这个是第一种,正常的思考逻辑。

#include <stdio.h>

 

//输入三个数,按从小到大顺序输出 

 

int main(void)

{

    int a, b, c, min, median, max;

     

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

     

    if (a>b)

    {

        if (a>c)

        {

            max = a;

            if (b>c)

            {

                median = b;

                min = c;

            }

            else

            {

                median = c;

                min = b;

            }

        }

        else

        {

            max = c;

            median = a;

            min = b;

        }

    }

    else if (b>c)

    {

        max = b;

        if(a>c)

        {

            median = a;

            min = c;

        }

        else

        {

            median = c;

            min = a;

        }

    }

     

    printf("%d < %d < %d\n", min, median, max);

     

    return 0;

}

第二种:逆向思维

// 输入3个数,要求按从小到大顺序输出  

   

#include <stdio.h>  

   

int main()  

{  

    int a,b,c,t;  

    printf("请输入三个数:");  

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

    if(a > b)  

    {  

        t = a;  

        a = b;  

        b = t;  

    }  

    if(a > c)  

    {  

        t = a;  

        a = c;  

        c = t;  

    }  

    if(b > c)  

    {  

        t = b;  

        b = c;  

        c = t;  

    }  

    printf("从小到大的顺序是:%d  %d  %d\n",a,b,c);  

    return 0;  

}

---恢复内容结束---

4. 今天突然想起来一个问题,但一时又想不起方法

C语言编程题,从键盘输入任意3个数,按从小到大的顺序输出

这个是第一种,正常的思考逻辑。

#include <stdio.h>

 

//输入三个数,按从小到大顺序输出 

 

int main(void)

{

    int a, b, c, min, median, max;

     

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

     

    if (a>b)

    {

        if (a>c)

        {

            max = a;

            if (b>c)

            {

                median = b;

                min = c;

            }

            else

            {

                median = c;

                min = b;

            }

        }

        else

        {

            max = c;

            median = a;

            min = b;

        }

    }

    else if (b>c)

    {

        max = b;

        if(a>c)

        {

            median = a;

            min = c;

        }

        else

        {

            median = c;

            min = a;

        }

    }

     

    printf("%d < %d < %d\n", min, median, max);

     

    return 0;

}

第二种:逆向思维

// 输入3个数,要求按从小到大顺序输出  

   

#include <stdio.h>  

   

int main()  

{  

    int a,b,c,t;  

    printf("请输入三个数:");  

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

    if(a > b)  

    {  

        t = a;  

        a = b;  

        b = t;  

    }  

    if(a > c)  

    {  

        t = a;  

        a = c;  

        c = t;  

    }  

    if(b > c)  

    {  

        t = b;  

        b = c;  

        c = t;  

    }  

    printf("从小到大的顺序是:%d  %d  %d\n",a,b,c);  

    return 0;  

}

posted @ 2019-06-11 07:33  凉心、惊梦  阅读(166)  评论(0编辑  收藏  举报