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