输入一个自然数,输出该自然数的各位数字组成的最大数。

2025-02-24 19:16:56
推荐回答(2个)
回答1:

就是输入一个int后,然后将各个位上的数取出来后,才大到小进行排序,最大的作为最高位,最小的作为个位就可以了。

<1> 先计算输入的数是几位的 假设输入的为a 则
weishu=0;
while(a>0)
{
weishu++;
a = a/10;
}
这样可以求出位数。

<2> 求各位上的数
int b[10] ; //假设最多能输入10位数。
int i=0;
while(a>0)
{
b[i] = a%10;
a=a/10;
i++;
}

这样就存储了各位上的数

<3> 然后对 b[10] 进行从小到大的排序 最大的放前面,最小的放后面

<4> 组成最后的数字
int result=0;
for(int j=0;j{
result = result*10+b[j];
}

最后就是输出了

回答2:

比如你输入1324 数字就有1 3 2 4 然后按从大到小的顺序排列为4321
比如你输入56987 排列为98765