试题查看

【分析解答题】

【说明】
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数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*/
intADD(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*/

查看答案解析

参考答案:

正在加载...

答案解析

正在加载...

根据网考网移动考试中心的统计,该试题:

0%的考友选择了A选项

0%的考友选择了B选项

0%的考友选择了C选项

0%的考友选择了D选项

你可能感兴趣的试题

【说明】中国教育科研网受理了许多用户(高校和研究机构)中请在指定IP上开设网络访【程序说明】定义一个多边形结构:structpolygon实现以下内容:(1)建阅读下列说明和C++代码,回答下列问题。[说明]某咖啡店卖咖啡时,可以根据顾客的[说明]背包问题就是有不同价值、不同重量的物品n件,求从这n件物品中选取一部分物[说明]背包问题就是有不同价值、不同重量的物品n件,求从这n件物品中选取一部分物【说明】现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函