首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明、图和C代码,回答问题 [说明] 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为: m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2] 其中a[1
阅读下列函数说明、图和C代码,回答问题 [说明] 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为: m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2] 其中a[1
admin
2012-02-20
110
问题
阅读下列函数说明、图和C代码,回答问题
[说明]
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:
m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2]
其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数、1表示负数。
运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减情况。注意,不考虑溢出情况,即数组足够大。
[函数]
int cmp(int *LA, int *LB);
/*比较长整数LA与LB的绝对值大小*/
/*若LA绝对值较大返回正值,LA较小返回负值,相等则返回0*/
int ADD (int *LA, int *LB, int *LC)
/*计算长整数LA与LB的和,结果存储于LC中*/
/*注意:正数与负数的和相当于正数与负数绝对值的差*/
/*数据有误返回0,正常返回1*/
{
if(LA == NULL || LB == NULL || LC == NULL)return 0;
int *pA, *pB, i, N, carry, flag;
flag = LA[0] + LB[0];
switch(flag){ /*根据参与运算的两个数的符号进行不同的操作*/
case 0:
case 2:
Lc[0] = LA[0];/*LA与LB同号,结果符号与LA(LB)相同*/
pA = LA;
pB = LB;
(1) ;
break;
case 1: /*LA与LB异号*/
/*比较两者的绝对值大小,结果符号与较大者相同*/
flag = (2) ;
if(flag > 0){ /*LA较大*/
LC[0] = LA[0];
pA = LA;
pB = LB;
}
else if(flag < 0)(/*LB较大*/
LC[0] = LB[0];
pA = LB;
pB = LA;
}
else{/*LA与LB相等*/
LC[0] = 0;
LC[1] = 0;
return 1;
}
flag = -1;
break;
default:
return 0;
break;
}/*switch*/
/*绝对值相加减*/
/*注意对于减法pA指向较大数,pB指向较小数,不可能出现不够减情况*/
(3) ;
N = LA[1] > LB[1] ? LA[1] : LB[1];
for(i = 0; i < N; i++){
if(i >= pA[1]){/*LA计算完毕*/
carry += flag * pB[i+2];
}
else if(i >= pB[1]){/*LB计算完毕*/
carry += pA[i+2];
}
else{
carry += pA[i+2] + flag * pB[i+2];
}
LC[i+2] = carry % 10;
carry /= 10;
if( (4) ){/*需要借位,针对减法*/
LC[i+2] += 10;
carry--;
}
}/*for*/
if( (5) ){/*最高进位,针对加法*/
LC[i+2] = carry;
i++;
}
if(LC[i+1] == 0) i--; /*若最高位为零,针对减法*/
LC[1] = i;
return 1;
};/*ADD*/
选项
答案
flag=1 cmp(LA,LB) carry=0 LC[i+2]<0 carry
解析
转载请注明原文地址:https://kaotiyun.com/show/MlDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,(25)不属于面向对象分析阶段。
(33)不属于功能测试用例构成元素。
将二进制序列1011011表示为十六进制,为______。
计算机系统中,虚拟存储体系由______两级存储器构成。
静态图像压缩标准JPEG2000中使用的是(60)算法。
采用________________表示带符号数据时,算术运算过程中符号位与数值位采用同样的运算规则进行处理。
用边界值分析法,假定X为整数,10≤X≤100,那么X在测试中应该取(40)边界值。
()主要对与设计相关的软件体系结构的构造进行测试。
下图是责任链设计模式的类图,该设计模式的目的是________。该图中,Handler和Handler之间是关联关系,Handler和ConcreteHandler之间是继承关系。
随机试题
肉芽组织的结局是
下列各项中,不能作为商业秘密保护的是()
某村村民陈某因住房紧张而申请建房,经村主任李某批给一处六间房的宅基地,陈某在地东头建房四间,西头又铺了两间房的地基。后陈某在西头两间房基上动工建房。村委会以陈某未经审批和建房过多为由出面制止。陈某以宅基地已批给自己使用和持有县政府颁发的房屋确权证为由不听劝
防止机构的扩大化,提高机构实施项目的能力和应变能力,并且使所有机构的活动形成有机的反馈系统,增强项目的生命力,这是()分析的重点。
简述选择运输方式的五要素。
若服务器系统可用性达到99.99%,那么每年的停机时间必须小于()。
计算斐波那契数列第n项的函数定义如下:intfib(intn){if(n==0)return1;elseif(n=1)return2;elsereturnfib(n-1)+fib
A、8:30.B、8:25.C、8:35.C
TricksoftheTrade[A]Aschildren,wearetaughtthatworkinghardwillgetusgoodgrades.Whenitcomestoyourjob,thesam
Forthispart,youareallowed30minutestowriteashortessayentitledThePopularityofBlog.Youshouldwriteatleast150
最新回复
(
0
)