黑洞数的输出,答案对,但是每一步运算步骤不对,不是最大减去最小
#include<stdio.h>
int main()
{ int x;//输入的需要进行求差的数
int MaxB,MaxS,MaxG;//最大数的个十百位数
int MinB,MinS,MinG;//最小数的个十百位数
int maxnum,minnum;
int a[3];//储存个十百位数
int i=0,j=0,max,temp=0;//简单选择排序所需变量
int t=0,k=0; //t循环控制变量,k循环次数变量
scanf("%d",&x);
while(x!=495){
a[0]=x%10;
a[1]=x/10%10;
a[2]=x/100;//在数组中填上个十百位
for(i=0;i<3;i++){
for(j=i;j<3;j++){
max=i;
if(a[j]>a[i]){
max=j;
}
}
temp=a[max];
a[max]=a[i];
a[i]=temp;
}//利用选择排序,从大到小排序
MaxB=a[0];MaxS=a[1];MaxG=a[2];
MinB=a[2];MinS=a[1];MinG=a[0];//为最大数和最小数赋值
maxnum=MaxB*100+MaxS*10+MaxG;
minnum=MinB*100+MinS*10+MinG;
t=maxnum-minnum;
k++;
printf("%d:%d-%d=%d\n",k,maxnum,minnum,t);
x=t;
}
return 0;
}