【说明】 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则

题型:问答题

问题:

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

考点:计算机软件水平考试中级软件设计师中级软件设计师下午试题
题型:问答题

_____ she had not spelt the word wrong, Cathy would have got a full mark.

A.If

B.Since

C.Though

D.When

题型:问答题

肾性血尿RBC形态改变的因素是()

A.红细胞在 * * 内停滞时间较长

B.受介质张力影响

C.受酸碱度变化影响

D.受渗透压变影响

E.通过肾小球基底膜的挤压

题型:问答题

3dsmax9中默认情况下是以()视图方式显示。

A.1

B.2

C.3

D.4

题型:问答题

税收的特征有()。

A.强制性

B.固定性

C.有偿性

D.无偿性

题型:问答题

治疗新生儿湿热胎黄的首选方剂是

A.茵陈蒿汤
B.茵陈理中汤
C.血府逐瘀汤
D.茵陈四苓汤
E.龙胆泻肝汤

更多题库