閱讀以下說(shuō)明和 C 代碼,填補(bǔ)代碼中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
下面的代碼運(yùn)行時(shí),從鍵盤輸入一個(gè)四位數(shù)(各位數(shù)字互不相同,可以有0). 取出組成該四位數(shù)的每一位數(shù),重組成由這四個(gè)數(shù)字構(gòu)成的最大四位數(shù) max4和最小四位數(shù) min4(有0時(shí)為三位數(shù)).計(jì)算 max4與 min4的差值,得到一個(gè)新的四位數(shù)。若該數(shù)不等于 6174, 則重復(fù)以上過(guò)程,直到得到 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++ ) { /*用簡(jiǎn)單選擇排序法將 a[0] ~a[3] 按照從大到小的順序排列* /
t = i;
for( j= i+1;(1); j++ )
if (a[j] >a[t]) (2);
if ( t !=i ) {
int temp = a[t];a[t]= a[i];a[i]= temp;
}
}
max4=(3);
min4=(4);
return max4-min4;
}
int main ()
{ int n,a[4];
printf("input a positive four-digit number: ") ;
scanf("%d" ,&n);
while (n!=6174) {
a [0] =(5); /*取n的千位數(shù)字*/
a[1] = n/100%10; /*取n的百位數(shù)字*/
a[2] = n/10%10; /*取n的十位數(shù)字*/
a[3] =(6); /*取n的個(gè)位數(shù)字*/
n = difference(a);
}
return 0;
}