首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序modil.c中函数fun()的功能是将两个长度相等的纯数字字符串当作两个加数,求其代表的数值之和,并以字符串的形式存入r所指内存且返回。 例如s1"723",s2是"567",则返回的字符串为"1290"。要考虑进位。 请改正程序
给定程序modil.c中函数fun()的功能是将两个长度相等的纯数字字符串当作两个加数,求其代表的数值之和,并以字符串的形式存入r所指内存且返回。 例如s1"723",s2是"567",则返回的字符串为"1290"。要考虑进位。 请改正程序
admin
2023-02-27
94
问题
给定程序modil.c中函数fun()的功能是将两个长度相等的纯数字字符串当作两个加数,求其代表的数值之和,并以字符串的形式存入r所指内存且返回。
例如s1"723",s2是"567",则返回的字符串为"1290"。要考虑进位。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构!
1 #include
2 #include
3 char*fun(char*s1,char *s2,char * r)
4 {
5 int len,cy=0,md;
6 char*p,*q,*t;
7 len=strfen(s1);
8 p=s1+len-1;
9 q=s2+len-1;
10 t=r+len;
11 /*********found*********/
12 *t=’\0’;
13 while(p>=s1)
14 {
15 /*********found*********/
16 md=*p+*q-'0'+cy;
17 if(md>=10) cy=1;
18 else cy=0;
19 *t=md%10+'0';
20 p~-;
21 q~-;
22 t~-;
23 }
24 /*********found*********/
25 if(cy=1)
26 *t='1';
27 else
28 {
29 while(*r++=*++t);
30 }
31 return r;
32 }
33 void main()
34 {
35 char s1[100],s2[100],s3[101];
36 strcpy(s1,"65743");
37 strcpy(s2,"85339");
38 fun(s1,s2,s3);
39 printf("%s+%s=%s\n",s1,s2,s3);
40 }
选项
答案
(1)*(t+1)='\0';或者*(1+t)=’\0'; (2)md=*p-'0'+*q-'0'+cy; (3)if(cy==1)
解析
题干要求将两个长度相等的纯数字字符串当作两个加数,求其代表的数值之和并以字符串的形式存入r所指内存且返回。指针p指向字符串s1最后一个字符,指针q指向字符串s2最后一个字符。指针t指向r+len。
(1)指针变量r存放相加以后的字符串,相加后可能会发生进位,指针t后一位存放字符串结束标志。这里将将*=’\0’;修改为*(t+1)='\0';或者*(1+t)=’\0';。
(2)将指针变量p和q指向的数字字符相加,所以需要减去字符"0"。这里将md=*p+*q-'0'+cy;修改为md=*p-'0'+*q-’0'+cy;。
(3)如果cy为1,则加法运算发生进位,指针t的位置存放1。这里将if(cy=1)修改为if(cy==1)。
转载请注明原文地址:https://kaotiyun.com/show/QJ0D777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
从集合{P,Q,R,S}与{0,1,2,3,4,5,6,7,8,9}中各任选2个元素排成一排(字母和数字均不能重复),其中字母Q和数字0至多只能出现一个的不同排法有()。
兄妹二人在周长30米的水池边玩,他们同时从同一地点出发,背向绕水池而行,哥哥每秒走1.3米,妹妹每秒走1.2米,照这样计算,二人第十次相遇时,妹妹还需要走()米才能回到出发点。
已知甲、乙两支股票某日开盘时每股价格之和为100元,收盘时,甲股票价格跌了2成,乙股票价格涨了10%,此时甲、乙两股票每股价格之和比开盘时提高了4%,则甲股票每股价格是()元。
函数f(x)=x2+bx+c对于任意实数t都有f(2+t)=f(2-t),则()。
若n是一个大于100的正整数,则n3-n一定有约数()。
x1,x2是方程6x2-7x+a=0的两个实数根,若的几何平均值是,则a的值是()。
将2个红球(球互不相同)与1个白球随机地放入甲、乙、丙三个盒子中,则乙盒中至少有1个红球的概率为()。
已知盒中装有3只螺口与7只卡口灯泡,这些灯泡的外形与功率都相同且灯口向下放着,现需要一只卡口灯泡使用,电工师傅每次从中任取一只并不放回,则他直到第3次才取得卡口灯泡的概率为()。
结合材料回答问题:材料1辛亥革命的发生,有着深刻的社会历史背景,是近代以来中国社会矛盾激化和中国人民顽强斗争的必然结果。中华民族是世界上古老而伟大的民族,有着5000多年源远流长的文明历史,为人类文明进步作出了不可磨灭的贡献。1840年鸦片战
信息隐蔽是开发整体程序结构时使用的法则,通过信息隐蔽可以提高软件的____①____、可测试性和____②____。②
随机试题
国家标准规定,普通硅酸盐水泥终凝时问不得大于()。
属于中性染料的是
关于椎动脉闭塞性疾病哪项是不正确的
在王某(15岁,涉嫌抢劫)一案的审理过程中,应当贯彻不公开审理的原则,下列做法不符合这一原则的是:()
下列选项中属于海关税费征收权范围的有()。
社会主义核心价值体系的内核及其遵循的根本原则,体现着社会主义核心价值体系的根本性质和基本特征的是()
[*]
Readtheadvertisementbelowaboutaconsultantvacancy.Choosethecorrectwordtofilleachgap,fromA,B,orC.For
Motorwaysare,nodoubtthesafestroadsinBritain.Mile【41】mile,vehicleforvehicle,youaremuch【42】likelytobekilledors
Themillionsofinternallydisplacedpersonsfacethesamefateasthatofrefugees.Comparedwiththeirdisplacedcounterparts
最新回复
(
0
)