wang2679958237 2015-04-18 03:17 采纳率: 15.8%
浏览 1583
已采纳

一道C语言的题目,求大神解答

输入一个正整数,逐位分割该数的每一位数字,求由数字所构成的最大整数。例如;输入624891,得到最大整数:986421。要求定义和调用函数计算并返回一个x可构成的最大整数。

  • 写回答

3条回答 默认 最新

  • is_today 2015-04-18 03:43
    关注

    #include
    #define N 20

    int fun(int n)
    {
    int x,t,s[N]={0},i,j,len;
    for(len=0;x!=0;len++)
    {
    x=n/10;
    s[len]=n%10;
    n=x;
    }
    for(i=0;i<len-1;i++)
    for(j=i;j<len;j++)
    {
    if(s[i]<s[j])
    {
    t=s[i];
    s[i]=s[j];
    s[j]=t;
    }
    else ;
    }
    for(i=0,t=0;i<len;i++)
    t=t*10+s[i];
    return t;
    }

    int main()
    {
    int n,max;
    printf("input:");
    scanf("%d",&n);
    max = fun(n);
    printf("max = %d\n",max);
    return 0;
    }

    VC中直接运行。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?