首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
【说明】 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数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
53
问题
【说明】
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数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
软件设计师下午应用技术考试
软考中级
相关试题推荐
针对程序段:IP(A||B||C)THENW=W/X,对于(A,B,C)的取值,(57)测试用例能够满足MCDC(修正条件逻辑判定)的要求。
瀑布模型表达了一种系统的、顺序的软件开发方法。以下关于瀑布模型的叙述中,正确的是(17)。
假设系统有n(n≥5)个并发进程,它们竞争互斥资源R。若采用PV操作,当有3个进程同时申请资源R,而系统只能满足其中1个进程的申请时,资源R对应的信号量s的值应为_______。
某计算机系统页面大小为4K,进程P的页面变换表如下表所示。若P中某数据的逻辑地址为十六进制2C18H,则该地址的页号和页内地址分别为2和C18H;经过地址变换后,其物理地址应为十六进制______。
以下描述中,属于通用操作系统基本功能的是_______。
阅读以下说明,回答问题1和问题2。说明二层隧道协议L2TP(Layer2TunnelingProtocol)是一种基于点对点协议PPP的二层隧道协议。某网络结构如图5-1所示,采用L2TP来实现网络安全。
SSL协议使用(1)密钥体制进行密钥协商。在IIS5.0中,Web服务器管理员必须首先安装Web站点数字证书,然后Web服务器才能支持SSL会话,数字证书的格式遵循ITU-T(2)标准。通常情况下,数字证书需要由(3)颁发。如果Web服务器管理员准备预
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,解释(7)处的命令。Switch#configtSwitch(
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,将(1)~(4)处空缺的内容填写在相应位置。SW1>enable
阅读以下说明,回答问题1至问题8。[说明]Linux系统开机引导时首先启动内核,由内核检查和初始化硬件设备,载入设备的驱动程序模块,安装root文件系统,然后内核将启动一个名为init的进程。在init运行完成并启动其他必要的后续进程后,
随机试题
A.四级结构形成B.四级结构破坏C.一级结构破坏D.一级结构破坏E.二、三级结构破坏蛋白酶水解蛋白质时会出现
女性,48岁。5年前患右上肺结核,痰菌阳性,经异烟肼、链霉素和乙胺丁醇治疗6个月,痰菌转阴,病灶明显吸收,自行停药,未再随访。近1月来感乏力,2天前起咳嗽,痰中带血就诊。X线胸片示右上肺大片致密影,边缘不清,密度不均,高密度病灶部分约见有钙化。侧位病变位于
患者,女,40岁。双手指及腕关节肿痛3个月,伴晨僵。查血沉56mm/h,类风湿因子1:80。必要的检查首先是
图5-64所示正方形截面等直杆,抗弯截面为W,在危险截面上,弯矩为M,扭矩为Mn,A点处有最大正应力σ和最大切应力τ。若材料为低碳钢,则其强度条件为()。
计划性风险自留的计划性主要体现在( )方面。
会计核算软件按服务层次和提供信息的深度可分为单用户会计核算软件和多用户(网络)会计核算软件。()
根据规定,投资人申请设立个人独资企业,应当向登记机关提交的文件有()。
有权制定税收部门规章的税务主管机关是财政部、国家税务总局。()
在弗洛伊德的心理发展阶段理论中,“恋母情结”现象出现在()
Themainideaofthispassageis______.
最新回复
(
0
)