【题目描述】
任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入1593 ,则输出为9531。
【输入】
仅一行。自然数 n(0<n≤1018)。
【输出】
仅一行。各位数字组成的最大数。
【样例输入】
1593
【样例输出】
9531
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{ int i,n,y=0,t,m=0,j;
scanf("%d\n",&n);
int a[10];
for(i=0;i<10;i++)
{
a[i]=n%10;
n=n/10;
if(n==0)
break;
}y=i;
for(i=0;i<y;i++)
{ m=i;
for(j=i+1;j<=y;j++)
{ if(a[j]>a[m])
{m=j;}
if(m!=i)
{t=a[i];
a[i]=a[m];
a[m]=t;}
}
}
for(i=0;i<=y;i++)
{printf("%d",a[i]);
}
return 0;
}