1019 数字黑洞 (20 分)

#include
int main()
{
  int num[4];
  int a=0,b=0,c=0,d=0;
  int i,j,ti;
  int n;
  int max=0,min=0;
  scanf("%d",&n);
  if(n==6174)
  printf("7641 - 1467 = 6174");
  while(n!=0&&n!=6174)
  {
    a=n/1000;
    b=(n-a*1000)/100;
    c=(n-a*1000-b*100)/10;
    d=(n-a*1000-b*100-c*10);
    num[0]=a,num[1]=b,num[2]=c,num[3]=d;
    for(i=0;i<3;i++)
        for(j=0;j<3-i;j++)
        {
            if(num[j]             {
                ti=num[j+1];
                num[j+1]=num[j];
                num[j]=ti;
            }
        }
    a=num[0],b=num[1],c=num[2],d=num[3];
  max=1000*a+100*b+10*c+d;    
  min=a+10*b+100*c+1000*d;
  n=max-min;
  printf("%04d - %04d = %04d\n",max,min,n);
  }
  return 0;
}

你可能感兴趣的:(1019 数字黑洞 (20 分))