C语言:计算并输出三个整数的最大值 并对三个数排序

Source

这是《C语言程序设计》73页的思考题。下面分享自己的思路和代码

思路:

代码:

#include <stdio.h>
int main()
{
    int a,b,c,max,min,mid ; //设置大中小的数分别为max,mid,min,abc为输入的三个数
    printf("please input:");      //提示输入
    scanf("%d,%d,%d",&a,&b,&c);   //获取输入的abc
    printf("%d,%d,%d\n",a,b,c);   //检验输入的数,这行可省略
    if (a>b) //先比较a和b
    {
        max=a;
        if(b>c) //c最小
        {
            min=c;
            mid=b;
            max=a;
        }
        else  //b最小,再比较a和c
        {
            min=b;
            if(a<c)
            {
                max=c;
                mid=a;
                min=b;
            }
            else //a>c>b
            {
                max=a;
                mid=c;
                min=b;
            }
        }
        
    }
    else  //b>a
    {
        max=b;
        if(b<c)  //c最大
        {
            max=c;
            mid=b;
            min=a;
        }
        else  //b>c,b最大,再拿a和c比
        {
            max=b;
            if(a<c) //b>c>a
            {
                max=b;
                min=a;
                mid=c;
            }
            else  //b>a>c
            {
                max=b;
                min=c;
                mid=a;
            }
        }

    }
    printf("max=%d\n",max);  //输出最大值
    printf("%d,%d,%d",max,mid,min); //从大到小排序
}

运行结果

友友们验证正确性的时候记得打乱大小顺序