首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
【说明】 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数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
73
问题
【说明】
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数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
软件设计师下午应用技术考试
软考中级
相关试题推荐
在软件开发过程中,常采用图形表示相关的信息,(28)不用于表示软件模块的执行过程。
在分层体系结构中,控制层接收用户的请求并决定调用哪个模型去处理该请求,以及确定选择哪个视图来显示返回的数据。在基于JavaEE平台开发的软件系统中,常用_________技术来实现该层。
在C程序中,________是合法的用户定义变量名。①123②form-7③short④form7
假设系统有n(n≥5)个并发进程,它们竞争互斥资源R。若采用PV操作,当有3个进程同时申请资源R,而系统只能满足其中1个进程的申请时,资源R对应的信号量s的值应为_______。
以下描述中,属于通用操作系统基本功能的是_______。
甲怀疑乙发给他的信息已遭人篡改,同时怀疑乙的公钥也是被人冒充的。为了消除甲的疑虑,甲、乙需要找一个双方都信任的第三方,即______来签发数字证书。
阅读以下说明和交换机的配置信息,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某公司设3个部门,为了便于管理,每个部门组成1个VLAN,公司网络结构如图9-4所示。[交换机Switch1的部分配置信息]Switch
目前,通过移动电话接人互联网采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器、存储资源代码的PC机、应用网关、存储私人信息的PC机、电子商务系统)哪些应放在DMZ中,哪些应放在内网中?给予简要说明。
阅读以下说明,回答问题1和问题2。说明二层隧道协议L2TP(Layer2TunnelingProtocol)是一种基于点对点协议PPP的二层隧道协议。某网络结构如图5-1所示,采用L2TP来实现网络安全。
阅读以下说明,回答问题1~6。[说明]某公司已有一个100用户的有线局域网。由于业务的发展,现有的网络不能满足需求,需要增加40个用户的网络连接,并在公司客户接待室连接网络以满足合作伙伴实时咨询的需求。现结合公司的实际情况组建无线局域网,具体拓扑
随机试题
(2018年淄博)以下陈述正确的是()
根据以下资料,回答以下问题。以下折线图反映了哪一时间段内全国城市人均公园绿地面积同比增量的变化趋势?
50岁,男性,外伤后致胫腓骨中下1/3开放性骨折,经治疗,3个月后复查X线片见骨折端略有移位,骨折线清晰,你认为影响骨折愈合的最主要的原因
传染性非典型肺炎的密切接触者应隔离观察
某一特定主体的资金运动,主要包括资金的投入和折算、循环与收回、支付与赔偿。()
北岸实业是国内一家房地产新秀,在众多的房地产大鳄下生存需要经过漫长而艰辛的品牌树立历程,以节能设计和绿色材料为主打的第五代居住环境开发试验项目,需要更新的知识领域、更精细的工作态度和更卓越的服务意识,公司决定投入大量人力物力对成立的项目小组人员进行系统而具
给定资料1茉莉花香扑鼻而来,村屯道路干净整洁,一派山水田园风光——这是H县石井村的新景象。“这风光来之不易呀。”村支书老杨感叹。村头屯尾越来越多的垃圾,曾让他头疼不已。“乡亲们腰包鼓起来了,消费向城里看齐,垃圾也与城里‘接轨’,农药瓶、农膜、塑料
下列关于我国国土资源的叙述,正确的是()。
吴老师一句口头禅“简单”所能展示的吴老师风貌不包括( )。“这道题目还不简单”这句话中表达的意思是( )。
われわれは、よく、「体が覚えている」とか「手が覚えている」という言い方をすることがある。意識的にものを考えるときには、「頭を使う」という言い方をするように、頭、脳を使って考えるが、人の心の働きには、脳の活動だけで説明しきることのできないものがたく
最新回复
(
0
)