阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
[说明]
下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数),计算max4与min4的差值,得到一个新的四位数。若该数不等于6174,则重复以上过程,直到得到6174为止。
例如,输入1234,则首先由4321-1234,得到3087;然后由8730-378,得到8352;最后由8532-2358,得到6174。
[C代码]
#include<stdio.h>
int difference(int
a[])
( int
t,i,j,max4,min4;
for(i=0; i<3; i++){/*用简单选择排序法将a[0]~a[3]按照从大到小的顺序排列*/
t=i;
for(j=i+1; ______;
j++)
if(a[j]>a[t]) ______;
if(t!=i){
int temp=a[t];
a[t]=a[i]; a[i]=temp;
}
}
max4=______;
min4=______;
return max4-min4;
}
int main()
{ int
n,a[4];
printf("input
a positive four-digit number:");
scanf("%d",&n);
while(n!=6174){
a[0]= ______;
/*取n的千位数字*/
a[1]=n/100%10;
/*取n的百位数字*/
a[2]=n/10%10;
/*取n的十位数字*/
a[3]= ______;
//取n的个位数字*/
n=difference(a);
}
return 0;
}


