首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和c函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 c语言常用整型(int)或长整型(1ong)来说明需要处理的整数,在一般情况下可以满足表示及运算要求,而在某些情况下,需要表示及运算的整数比较大,即使采用更长的整型(例如
阅读以下说明和c函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 c语言常用整型(int)或长整型(1ong)来说明需要处理的整数,在一般情况下可以满足表示及运算要求,而在某些情况下,需要表示及运算的整数比较大,即使采用更长的整型(例如
admin
2010-01-08
24
问题
阅读以下说明和c函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
c语言常用整型(int)或长整型(1ong)来说明需要处理的整数,在一般情况下可以满足表示及运算要求,而在某些情况下,需要表示及运算的整数比较大,即使采用更长的整型(例如,long long类型,某些c系统会提供)也无法正确表示,此时可用一维数组来表示一个整数。假设下面要处理的大整数均为正数,将其从低位到高位每4位一组进行分组(最后一组可能不足4位),每组作为1个整数存人数组。例如,大整数2543698845679015847在数组A中的表示如下(特别引入-1表示分组结束):
在上述表示机制下,函数add_large_number(A,B,c)将保存在一维整型数组A和B中的两个大整数进行相加,结果(和数)保存在一维整型数组c中。
【c函数】
Void add_large_number(int A[], int B[], int c[])
{
int i,cf; /*cf存放进位*/
int t,*p; /*t为临时变量,p为临时指针*/
cf= ( 1) ;
for(i=0 ; A
>-l&&B
>-1;i++){
/*将数组A、B对应分组中的两个整数进行相加*/
t=(2) ;
C
=t%i0000;
cf= (3) ;
}
if( (4))P=B;
else P=A;
for(;P
>-1;i++){/*将分组多的其余各组整数带进位复制入数组C*/
C
=(p
+cf)%i0000; cf=(p
+cf)/10000;
}
if(cf>0) C[i++]=cf;(5)=-1; /*标志”和数”的分组结束*/
选项
答案
(1)0 (2)A[i]+B[i]+cf (3)t/10000 (4)A[i]==-l或B[i]>-1(5)C[i]
解析
题目用整型数组表示大数组,一个数组元素表示4位的整数。在这种表示方式下进行两个大整数的相加运算时,需要对进位的处理多加考虑。已知cf表示进位情况,那么在开始进行相加之前,cf的初始值应该为O,所以空(1)的答案为“O”。大家都知道在进行加法操作的时候,需要从个位开始进行对齐然后从末位进行相加。对于保存在整型数组中的大整数,我们从最低位A[0]和B[0]开始相加,并且根据程序中c
=t%10000对t的使用,可以推断出空(2)的答案为“A
+B
+cf”。需要注意的是,在进行运算的同时,需要对前面相加产生的进位cf进行相加,同时也要计算出此次相加产生的进位,所以空(3)进位的计算的答案应该为“t/10000”。但是每次进行相加的两个整数的位数不一定相同,对于位数比较长的那个整数,我们应该把相加之后剩余的位数连带进位记录下来,保存到数组c中的对应位置,从程序中可以看出临时指针p指向的是位数比较长的这个数组。根据题目中的两个for循环设置的满足循环的条件可以看出如果数组中的整数已经相加结束,肯定满足A
==-1否则B
==-1,所以空(4)处的判断条件应该为“A
:=-1”或者“B
>-l”。当两个整数相加之后会产生进位,新的数据的位数可能会比原来的长,这时候我们就需要把多出来的这一位(即最后一次相加产生的进位)作为和数来进行处理。函数在最后用一个if语句对这种情况进行了处理,而空(5)的语句应该是对存放相加之和的数组设置结束标志,所以空(5)的答案为c
。
转载请注明原文地址:https://kaotiyun.com/show/VIjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel2003中,A1到E6单元格的值如下图所示,若在A7单元格中输入函数“=COUNTA(A1:E6)”,按回车键后,则A7单元格显示的值为(44)。
一般来说,收集到的数据经过清洗后,还需要进行分类、排序等工作。这样做的好处主要是(65)________________。
面向社会服务的信息系统突发安全事件时所采取的技术措施中一般不包括(62)________________。
在Excel2010中的A1单元格输入公式(),按回车键后,该单元格值为0.25。
在Excel的A1单元格中输入函数“=ROUND(3.1415,2)”,则A1单元格中显示的值为(57)。
要使Word能自动提醒英文单词的字母拼写是否正确,应设置Word的(47)选项功能。
由国家机关下达任务开发的软件,若在项目任务书或者合同中对软件著作权未作明确规定的,其软件著作权由(21)享有。
Windows XP的许多应用程序的“文件”菜单中,都有“保存”和“另存为”两个命令。以下对这两个命令的叙述,正确的是(36)。
在Excel中,区域A1:B2中各单元格的值都为4,区域C2:E2中各单元格的值分别为5、6、8,在P1单元格中输入公式“=AVERAGE(A1:B2,C2:E2)”,则F1单元格中显示的值为(59)。
程序员一般用(7)软件编写和修改程序。
随机试题
Whatisateachertryingtodowhenhe/sheasksstudentstodescribewhattheyknowaboutpolicemenbeforereadingastoryabout
____________是支持网络功能实现的各种规约、协议、程序和管理方法的集合。
A、磺胺嘧啶(SD)+TMPB、磺胺甲噁唑(SMZ)+TMPC、磺胺嘧啶银D、磺胺醋酰钠(SA)E、磺胺嘧啶(SD)+链霉素治疗呼吸道感染宜选( )。
下列对头孢菌素类的叙述,错误的是()。
关于法律漏洞及其填补,下列说法正确的有
下列属于会计职业道德规范的主要内容的有()。
A公司于2015年1月2日从证券市场上购入B公司于2015年1月1日发行的债券,该债券三年期、票面年利率为4%、到期日为2018年1月1日,到期日一次归还本金和利息。A公司购入债券的面值为1000万元,实际支付价款为947.50万元,另支付相关费用20万元
Iconsidermyselfsomethingofanexpertonapologies.Aquiettemperhas【C1】______mewithplentyofopportunitiestomakethem.
PresidentCoolidge’sstatement,"ThebusinessofAmericaisbusiness",stillpointstoanimportanttruthtodaythatbusinessi
A、Theyhavenosavings.B、Theydependontheirrelatives.C、Theyhavenoeducation.D、Theyaretoooldtolearnaskill.C
最新回复
(
0
)