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

输入一个自然数,输出该自然数的各位数字组成的最大数.
1593成9531.这个我知道编,最大的问题是,11345成54311五位数怎么搞在一起.靠,想爆脑袋了.又要输入4位数又输入5位数的.详细写下思路.
jwrb 1年前 已收到1个回答 举报

modly 幼苗

共回答了29个问题采纳率:93.1% 举报

就是输入一个int后,然后将各个位上的数取出来后,才大到小进行排序,最大的作为最高位,最小的作为个位就可以了.
先计算输入的数是几位的 假设输入的为a 则
weishu=0;
while(a>0)
{
weishu++;
a = a/10;
}
这样可以求出位数.
求各位上的数
int b[10] ; //假设最多能输入10位数.
int i=0;
while(a>0)
{
b[i] = a%10;
a=a/10;
i++;
}
这样就存储了各位上的数
然后对 b[10] 进行从小到大的排序 最大的放前面,最小的放后面
组成最后的数字
int result=0;
for(int j=0;j

1年前

10
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.026 s. - webmaster@yulucn.com