首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。函数fun将字符串s1和s2交叉合并形成新字符串s3,合并方法为:先取s1的第1个字符存入s3,再取s2的第1个字符存入s3,以后依次类推;若s
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。函数fun将字符串s1和s2交叉合并形成新字符串s3,合并方法为:先取s1的第1个字符存入s3,再取s2的第1个字符存入s3,以后依次类推;若s
admin
2018-03-27
40
问题
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。函数fun将字符串s1和s2交叉合并形成新字符串s3,合并方法为:先取s1的第1个字符存入s3,再取s2的第1个字符存入s3,以后依次类推;若s1和s2的长度不等时,较长字符串多出的字符顺序放在新生成的s3后。
例如,当s1为:’’123456789’’,s2为:’’abcdefghijk’’时,
输出结果应该是:1a2b3c4d5e6f7g8h9ijk
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include<stdio.h>
#include<string.h>
#ragma warning(disable:4996)
void fun(char*s1,char*s2,char*s3)
{int i,j;
/**********found**********/
for(i=0,j=0;(s1
!=’\0’)&&(s2
!=’\0’);i++,j=j+1)
{s3[j]=s1
;
s3[j+1]=s2
;
}
if(s2
!=’\0’)
{for(;s2
!=’\0’;i++,j++)
/**********found**********/
s3
=s2[j];
}
else if(s1
!=’\0’)
{for(;s1
!=’\0’;i++,j++)
s3[j]=s1
;
}
/**********found**********/
s3[j-1]=’\0’;
}
void main()
{char s1[128],s2[128],s3[255];
printf(’’Please input string1:’’);
gets(s1);
printf(’’Please input string2:’’);
gets(s2);
fun(s1,s2,s3);
printf(’’string:%s\n’’,s3);
}
选项
答案
(1)将for循环中的j=j+1改为j=j+2 (2)将s3[i]=s2[j]改为s3[j]=s2[i] (3)将s3[j-1]改为s3[j]
解析
(1)函数fun中,在两个字符串都未结束的情况下将sl[0]放入s3[0],将S2[0]放入s3[1],for循环将字符依次放入,即将s1
放入s3[j],s2
放入s3[j+1]中,每次循环数组s3中放入2个字符,所以循环变量j的变化为j=j+2;所以将for循环中的j=j+1改为j=j+2。
(2)当第一个循环结束后,数组s1或数组s2中仍然可能有字符没有存放至s3,根据题目要求,应该将其剩下的字符放入数组s3的尾部。使用for循环把s2放入s3,这里数组s3的下标应为j,所以应将s3
=s2[j]改为s3[j]=s2
。
(3)当s1[]或s2[]的最后一个字符放入s3[j]时,应该设置一个结束标志,该结束标志’\0’应存入s3[j]最后一个位置。因为将最后一个字符放入s3[j]中后,j执行j++,将结束标志’\0’放入此时的s3[j]中,所以将s3[j-1]改为s3[j]。
转载请注明原文地址:https://www.kaotiyun.com/show/6qID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
根据下列材料回答问题。2006—2012年,上表中指标数值逐年减小的指标有()。
根据下列材料回答问题。与2009年相比,河北省2010年工业利润总额绝对值增加最大的所有制类型企业是()。
根据下列材料回答问题。为建立规范的税费体制和完善的价格机制,促进节能减排、环境保护和结构调整,公平负担,依法筹措交通基础设施养护和建设资金,我国出台了成品油价税费改革方案,自2009年1月1日正式施行。方案规定:取消公路养路费、航道养护费、公路运输管理费
在付费知识的市场宣传重点中,最吸引人的莫过于能有效地利用碎片时间,如在等公共汽车、跑步时进行学习和提升自我,进而有效管理时间。这种碎片化学习的方式虽然看似很灵活,并可以提高时间利用率,但科学研究表明,它不能真正地让你吸收学到的知识,不符合大脑吸收知识的运行
阅读以下文字,回答下列问题。从本质上讲,每个人都有两个年龄:一个是时间年龄,日历说你多大了;另一个是生理年龄,它以你的身体功能为基础,是与平均的健康水平对应的。“时间年龄并不是我们真正的年龄,这只是一个数字。”哈佛大学教授大卫·辛克莱说
下列选项中,有语病的是()。
下列与第二次世界大战有关的历史事件,按时间先后顺序排列正确的是()。①诺曼底登陆②德国进攻波兰③慕尼黑阴谋④日本偷袭珍珠港
在进行线性回归时假设误差等分散,下列哪种情况下误差等分散?()
一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序历结果为()。
随机试题
因考虑到加工划线的困难,有些畸形大型工件在毛坯上设计一些工艺孔或凸缘,这样可以方便加工和划线。( )
排卵是指哪些结构一起随卵泡液自卵巢排入到盆腔的过程
原发性急进性肾炎进入慢性期的主要治疗为
某市2009年底进行棚户区改造。房屋拆迁补偿方式,棚户区业主可以选择房屋产权调换或货币补偿。选择房屋产权调换方式的,被拆迁房屋与调换房屋面积相等部分不补差价,超面积按单价2800元/m2补交房款。刘某将其在该棚户区的房屋出租给李某,房屋登记簿上记载的该房屋
收料单、领料单、工资费用分配表、折旧计算表都属于通用凭证。()
相较于有形资产,无形资产所固有的特性不包括()。
跨国公司的决策体系是()。
()对于血液循环相当于引擎对于()
心理学把人的个性分为16种不同的类型。据说笔迹学家依据一个人的笔迹可以判断他或她的个性类型。这种说法没有多少道理。最近有这样一个实验,要求一个笔迹学家和一个普通人依据50个专业工作者的笔迹来分别判断其职业,结果前者的正确率并不比后者高。以下哪项是上述论证所
在窗体上添加一个名称为Command1的命令按钮,然后编写如下程序:PrivateSubf(ByValxAsInteger)x=x+4EndSubPrivateSubCommand1_Click()i=
最新回复
(
0
)