logo - 刷刷题
下载APP
【简答题】

阅读下列函数说明、图和C代码,回答问题 [说明] 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数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*/

举报
参考答案:
参考解析:
.
刷刷题刷刷变学霸
举一反三

【单选题】右侧内囊后肢(后脚)受损,可能出现的病症是()

A.
嗅觉丧失
B.
同侧肢体麻痹和半身躯体感觉丧失
C.
双眼左侧半视野偏盲
D.
对侧半身痛温觉丧失而触觉存在
E.
右耳听觉丧失

【单选题】以下哪种精神障碍最不可能出现定向障碍

A.
急性精神病状态
B.
严重应激状态
C.
广泛性焦虑障碍
D.
痴呆综合征
E.
严重记忆障碍

【多选题】甲状腺功能减退时可能出现哪些表现( )

A.
血液胆固醇水平增高,且可导致动脉粥样硬化
B.
在婴儿时甲状腺功能减退,若不及时补充甲状腺激素可出现呆小症
C.
粘液性水肿
D.
性功能增强
E.
感觉迟钝,行动迟缓,记忆力减退