#include <stdio.h>
void sortmax(int a[],int len)//数组从大到小来排序
{
int temp;
for(int i=0;i<len;i++)
{
for(int j=0;j<len-1-i;j++)
{
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
void sortmin(int a[],int len)//数组从小到大来排序
{
int temp;
for(int i=0;i<len;i++)
{
for(int j=0;j<len-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
int tonub(int a[],int len)//数组转换为数字
{
int b=0;
for(int i=0;i<len;i++)
b=b*10+a[i];
return b;
}
void toarr(int n,int a[])//数字转换为数组
{
for(int i=0;i<4;i++)
{
a[i]=n%10;
n=n/10;
}
}
int main()
{
int a[4],max,min,n;
scanf("%d",&n);
while(1)
{
toarr(n,a);
sortmax(a,4);//将数字从大到小排序
max=tonub(a,4);//将数字存起来
sortmin(a,4);//将数字从小到大排序
min=tonub(a,4);//将数字存起来
n=max-min;
printf("%04d - %04d = %04d\n",max,min,n);//输出
if(n==0||n==6174)//跳出循环条件
break;
}
return 0;
}
02-28
194
09-07