首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序modil.c中函数fun()的功能是将两个长度相等的纯数字字符串当作两个加数,求其代表的数值之和,并以字符串的形式存入r所指内存且返回。 例如s1"723",s2是"567",则返回的字符串为"1290"。要考虑进位。 请改正程序
给定程序modil.c中函数fun()的功能是将两个长度相等的纯数字字符串当作两个加数,求其代表的数值之和,并以字符串的形式存入r所指内存且返回。 例如s1"723",s2是"567",则返回的字符串为"1290"。要考虑进位。 请改正程序
admin
2023-02-27
123
问题
给定程序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://www.kaotiyun.com/show/QJ0D777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若n是一个大于100的正整数,则n3-n一定有约数()。
途中ABCD是边长为2的正方形,以AB为直径的半圆以及以AB为半径的两个537圆在正方形中划分出小面积S1,S2,S3,S4,则S4-S1=()。
国家税务部门规定个人稿费纳税方法是:不超过800元的不纳税,超过800元而不超过4000元的按超过800元部分的14%纳税,超过4000元的按全稿费的11%纳税,已知一人纳税550元,则此人的稿费为()元。
由0,1,2,3,4组成的没有重复数字的全部五位数中,若按从小到大的顺序排列,则数字12340应是第()个数。
若x>0,y>0,且x+2y=4,则lgx+lgy的最大值是()。
某班有50名学生,其中15人选修A课程,另外35人选修B课程.从班级中任选两名学生,他们是选修不同课程的学生的概率是()。
结合材料回答问题:华为从容的背后,有我们时代的整体加持华为遭遇美国极限施压之际,任正非接受媒体采访的内容刷屏。中国企业与中国企业家的自信、大气与从容,呈现于谈笑风生之间。从时代的角度审视,我
2021年7月1日,习近平总书记在庆祝中国共产党成立100周年大会上的讲话中指出,一百年前,中国共产党的先驱们创建了中国共产党。初心易得,始终难守。以史为鉴,可以知兴替。我们要用历史映照现实、远观未来。以史为鉴、开创未来,必须()
自动化测试工具主要使用脚本技术来生成测试用例,其中,____①____是录制手工测试的测试用例时得到的脚本;____②____是将测试输入存储在独立的数据文件中,而不是在脚本中。②
随机试题
正常情况下制作前牙金属烤瓷全冠的金-瓷衔接处应位于
设备质量的形成过程分为设计过程、采购过程、制造过程和( )。
固定式地脚螺栓按安装方式不同可分为()等。
设备成新率是指( )。
适合塑造力量和表达深邃的主题思想的影调形式是()。
救助站对流浪乞讨人员实行救助的程序包括()。
一个袋子里面红球和白球的比例为2:5,又往袋子里面加入2个红球,结果比率变为1:2,那么袋子里原有多少个红球?()
软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于
Whatisthemandoing?
AnswerthequestionsbelowusingNOMORETHANTWOWORDSfromthepassageforeachanswer.Writeyouranswersinboxes12-13ony
最新回复
(
0
)