不是回答过你吗?
#include<iostream.h>
int big(int i); //求出最大数
int small(int i); //求出最小
int c(int i1,int i2); //求两个数的差
void sort(int a[],int n) //排序
{
int i,j;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if (a[i]<a[j]){int t=a[i];a[i]=a[j];a[j]=t;};
};
void main()
{
int i,t=0;
cin>>i;
while(i!=t)
{
t=i;
i=big(i)-small(i);
}
cout<<i<<endl;
}
int big(int i)
{
int a[4];
a[0]=i/1000;i=i-a[0]*1000;
a[1]=i/100;i=i-a[1]*100;
a[2]=i/10;i=i-a[2]*10;
a[3]=i;
sort(a,4);
return (a[0]*1000+a[1]*100+a[2]*10+a[3]);
}
int small(int i)
{
int a[4];
a[0]=i/1000;i=i-a[0]*1000;
a[1]=i/100;i=i-a[1]*100;
a[2]=i/10;i=i-a[2]*10;
a[3]=i;
sort(a,4);
return (a[0]+a[1]*10+a[2]*100+a[3]*1000);
}
int c(int i1,int i2)
{
return (i1-i2);
}
温馨提示:答案为网友推荐,仅供参考