首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
【说明】 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数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
51
问题
【说明】
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数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)不用于表示软件模块的执行过程。
以下关于数据流图的叙述中,不正确的是______。
下图是责任链设计模式的类图,该设计模式的目的是________。该图中,Handler和Handler之间是关联关系,Handler和ConcreteHandler之间是继承关系。
由于操作系统升级而对软件进行修改的行为属于________维护。
以下________不是敏捷开发方法Scrum的步骤。
以下关于数据流图的基本要素的叙述中,不正确的是_______。
目前,通过移动电话接人互联网采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器、存储资源代码的PC机、应用网关、存储私人信息的PC机、电子商务系统)哪些应放在DMZ中,哪些应放在内网中?给予简要说明。
阅读以下说明,回答问题1至问题3。[说明]某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作实际需求,同时还要保证投资不要过大。经过深入分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如图1-1
SSL协议使用(1)密钥体制进行密钥协商。在IIS5.0中,Web服务器管理员必须首先安装Web站点数字证书,然后Web服务器才能支持SSL会话,数字证书的格式遵循ITU-T(2)标准。通常情况下,数字证书需要由(3)颁发。如果Web服务器管理员准备预
随机试题
疾病主要累及的靶器官以非炎症性病理改变为主要特点的风湿病是
点火过迟会使_______。
支气管呼吸音在正常人的哪些部位可以听到()
半规管壶腹嵴的适宜刺激是
根据胸部X线片,属于0期结节病的是根据胸部X线片,属于Ⅰ期结节病的是
尿毒症患者贫血的最主要原因是
房地产开发企业在对其开发的某商品住宅进行定价之前,对项目开发成本和项目所在区域内的同类项目分别进行了测算和调研,得知该项目可租售面积的单位开发成本为6510元/平方米,四个代表性项目的售价范围为8900~9100元/平方米。在此基础上,制定了下列价格
某县公安局民警王某周末轮休时,驾驶县局的警用面包车携带家人外出。行车途中,王某因车速过快将一行人刘某撞伤,用去医疗费用近5000元。本案在解决过程中,刘某以王某系县公安局民警且驾警车伤人为由,要求县公安局承担行政赔偿责任。公安机关对伤者刘某应承担行政赔偿责
Therigidhigher-educationbusinessisabouttoexperienceawelcomeearthquake.Traditionaluniversitiesnowfaceanew【C1】____
A、Makeanappointmentforaninterview.B、Sendinanapplicationletter.C、Fillinanapplicationform.D、Makeabriefself-intr
最新回复
(
0
)