輸入一個正整數,逐位分割該數的每一位數字,求由數字所構成的最大整數。例如;輸入624891,得到最大整數:986421。要求定義和調用函數計算並返回一個x可構成的最大整數。
#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中直接運行。。