输入一个正整数,逐位分割该数的每一位数字,求由数字所构成的最大整数。例如;输入624891,得到最大整数:986421。要求定义和调用函数计算并返回一个x可构成的最大整数。
3条回答 默认 最新
is_today 2015-04-18 03:43关注#include
#define N 20int 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中直接运行。。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报