从键盘输入一个3位的正整数给x,假设x为一个3位的正整数,它的每位数的数值都不相等。

从键盘输入一个3位的正整数给x,假设x为一个3位的正整数,它的每位数的数值都不相等。编写语句,将它每位的数重新组合成一个新的3位数,最大值值放入max中,最小的值放入min中。假设x的值为847,则重组后max的值为874,min值为478

三个位数排个序就好了啊

#include <stdio.h>
int getminmax(int a,int b,int flag)
{
    if(flag ==1)
    {
        if(a>b)
            return a;
        return b;
    }
    if(a<b)
        return a;
    return b;
}
int main()
{
    int a,b,c,n,max,min,p,q,r;
    scanf("%d",&n);
    a = n/100;
    b = n/10%10;
    c = n%10;
    p = getminmax(getminmax(a,b,1),c,1);
    q = getminmax(getminmax(a,b,0),c,0);
    r = a+b+c - p-q;
    max = p*100+r*10+q;
    min = q*100 + r*10+p;
    printf("max=%d,min=%d",max,min);
    return 0;
}