软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2009年上半年程序员考试下午真题试题(案例分析)
考试中心《2009年上半年程序员考试下午真题试题(案例分析)》在线考试
试卷年份2009年上半年
试题题型【分析简答题】
试题内容

 阅读以下说明和C 函数,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
    C 语言常用整型(int)或长整型(long)来说明需要处理的整数,在一般情况下可以满足表示及运算要求,而在某些情况下,需要表示及运算的整数比较大,即使采用更长的整型(例如,long long类型,某些C系统会提供)也无法正确表示,此时可用一维数组来表示一个整数。
假设下面要处理的大整数均为正数,将其从低位到高位每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;  /*标志"和数"的分组结束*/


相关试题

推荐文章
合作网站内容