閱讀以下說明和C 函數,將應填入(n)處的字句寫在答題紙的對應欄內。
【說明】
C 語言常用整型(int)或長整型(long)來說明需要處理的整數,在一般情況下可以滿足表示及運算要求,而在某些情況下,需要表示及運算的整數比較大,即使采用更長的整型(例如,long long類型,某些C系統(tǒng)會提供)也無法正確表示,此時可用一維數組來表示一個整數。
假設下面要處理的大整數均為正數,將其從低位到高位每4位一組進行分組(最后一組可能不足4位),每組作為1個整數存入數組。例如,大整數2543698845679015847在數組A 中的表示如下(特別引入-1表示分組結束):
在上述表示機制下,函數add_large_number(A,B,C)將保存在一維整型數組A和B中的兩個大整數進行相加,結果(和數)保存在一維整型數組C 中。
【C 函數】
void add_large_number(int A[], int B[], int C[])
{
int i, cf ; /*cf存放進位*/
int t, *p; /*t為臨時變量,p為臨時指針*/
cf = (1) ;
for(i = 0; A[i]>-1 && B[i]>-1; i++) {
/*將數組A.B 對應分組中的兩個整數進行相加*/
t = (2) ;
C[i] = t % 10000;
cf = (3) ;
}
if ( (4) ) p = B;
else p = A;
for( ; p[i]>-1; i++) { /*將分組多的其余各組整數帶進位復制入數組C*/
C[i] = (p[i] + cf) %10000; cf = (p[i] + cf) /10000;
}
if ( cf > 0 ) C[i++] = cf;
(5) = -1; /*標志"和數"的分組結束*/
}