首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
【说明】 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:m=a[k]×10k-2+a[k一1]×10k-3+…+a[3]×10+a[2]其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数、
【说明】 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:m=a[k]×10k-2+a[k一1]×10k-3+…+a[3]×10+a[2]其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数、
admin
2014-10-11
65
问题
【说明】
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:m=a[k]×10
k-2
+a[k一1]×10
k-3
+…+a[3]×10+a[2]其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数、1表示负数。运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减情况。注意,不考虑溢出情况,即数组足够大。
intcmp(int*LA, int*LB);
/*比较长整数LA与LB的绝对值大小*/
/*若LA绝对值较大返回正值,LA较小返回负值,相等则返回0*/
intADD(int*LA, int*LB, int*LC)
/*计算长整数LA与LB的和,结果存储于LC中*/
/*注意:正数与负数的和相当于正数与负数绝对值的差*/
/*数据有误返回0,正常返回1*/
{
if(LA==NULL||LB==NULL l I LC==NULL)return0;
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
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%1 0;
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*/
选项
答案
(1)flag=1 (2)cmp(LA,LB) (3)carry=0 (4)LC[i+2]<0 (5)carry
解析
先来看空(2),依据注释此处是比较LA与LB绝对值的大小,参照cmp函数说明及声明,应填cmp(LA,LB)。空(3)以下进行绝对值相加减。carry+=pA[i+2]+flag*pB[i+2];可见,CarTy需要进行初始化,故空(3)应填carry=0。仔细分析该计算式,可知flag是符号,flag为1时,计算pA+pB,flag为一1时,计算pA—pB。由此也推断出空(1)应填flag=1。case1中亦有对应语句flag=一1可得验证。由注释可见空(4)要填的是需要借位的条件。当不够减时需要向高一位借位,也就是不借位时相减结果是负数。因此空(4)应填LC[i+2]<0。同(4),空(5)要填需要有最高进位的条件。Carry变量表示的就是进位。因此空(5)应填carry(或carry!=0)。注此处carry是不可能为负数。
转载请注明原文地址:https://kaotiyun.com/show/EaDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下关于数据流图的叙述中,不正确的是______。
以下______不属于单元测试中模块接口测试的测试内容。
己知某文档仅包含6种不同的字符,其每个字符出现的频率如下表所示,采用霍夫曼编码对该文档压缩存储,则单词“face”的编码为_______,该文档的压缩比为25%。
在分层体系结构中,控制层接收用户的请求并决定调用哪个模型去处理该请求,以及确定选择哪个视图来显示返回的数据。在基于JavaEE平台开发的软件系统中,常用_________技术来实现该层。
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的权重表示活动的持续时间(天),则里程碑C在关键路径上。在其他活动按时完成的情况下,活动FJ最多可以晚_______天开始而不影响工期。
以下关于CPU与I/O设备交换数据所用控制方式的叙述中,正确的是_______。
若计算机字长为32,则采用补码表示的整数范围为______。
阅读以下说明,回答问题1和问题2。说明二层隧道协议L2TP(Layer2TunnelingProtocol)是一种基于点对点协议PPP的二层隧道协议。某网络结构如图5-1所示,采用L2TP来实现网络安全。
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。说明网络解决方案如图4-1所示。该网络原先使用的是国外品牌的交换机,随着网络规模的扩大,增添了部分国产品牌的交换机,交换机1至交换机5均是国产10M/100M自适应交换机,交换机6
SSL协议使用(1)密钥体制进行密钥协商。在IIS5.0中,Web服务器管理员必须首先安装Web站点数字证书,然后Web服务器才能支持SSL会话,数字证书的格式遵循ITU-T(2)标准。通常情况下,数字证书需要由(3)颁发。如果Web服务器管理员准备预
随机试题
传染过程的五种表现一般说来,哪种表现出现最多
诊断门静脉高压症最有意义的是()。
患者,男,45岁。胁痛口苦,胸闷纳呆,恶心呕吐,目黄身黄,舌苔黄腻,脉弦滑数。其证候是
气体灭火系统的安全泄放装置可以安装在()。
某房产开发股份有限公司(增值税一般纳税人),从事多业经营,2017年12月发生如下业务:(1)销售商品房取得不含增值税收入3000万元,合同保证金收入222万元。(2)自营四星级酒店取得餐饮收入300万元,客房住宿收入1000万元,会议收入500万元,
若要变更运输计划应符合哪些规定?
销毁公文的主要方式有()
民办高校获取研究生招生资格,在格局上打破了政府办教育的单一性体制。有助于在公私高校之间形成竞争态势,进一步将研究生教育推向市场,推动公立高校研究生教育改革,增强高等教育的质量和活力。要达到上述目标,就应当对民办高校给予更多的制度性赋权和松绑。综观任何一所世
A、条件(1)充分,但条件(2)不充分B、条件(2)充分,但条件(1)不充分C、条件(1)和(2)单独都不充分,但条件(1)和条件(2)联合起来充分D、条件(1)充分,条件(2)也充分E、条件(1)和条件(2)单独都不充分,条件(1)和条件(2)联
数据访问页工具箱中用来分析数据的控件不包括()。
最新回复
(
0
)