首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数MergeAndSort(int s[],int e[],int a[],int m,int n)实现将两个数组合并。这两个数组已经有序,按照由小到大的顺序排列。 例如:
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数MergeAndSort(int s[],int e[],int a[],int m,int n)实现将两个数组合并。这两个数组已经有序,按照由小到大的顺序排列。 例如:
admin
2019-05-29
71
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数MergeAndSort(int s[],int e[],int a[],int m,int n)实现将两个数组合并。这两个数组已经有序,按照由小到大的顺序排列。
例如:
e[]={1,3,5,6},m是数组e的长度,即为4。
a[]={2,4,5,7,11,13},n是数组a的长度,即为6。
则执行的结果为:s[]={1,2,3,4,5,6,7,11,13}
补充函数fun(int s[],int e[],int a[],int m,int n),使之实现上述要求。
注意:请勿改动主函数。
#include<iostream.h>
void MergeAndSort(int s[],
int e[],int a[],int m,int n)
{
}
int main()
{
int data[20],i;
int a[]=(1,3,5,6);
int b[]={2,4,5,7,11,13};
cout<<"a[]=";
for(i=0;i<4;i++)
cout<<a
<<’,’;
cout<<endl;
cout<<"b[]=";
for(i=0;i<6;i++)
cout<<b
<<’,’;
cout<<endl;
MergeAndSort(data,a,b,4,6);
cout<<"s[]=";
for(i=0;i<9;i++)
cout<<data
<<’,’;
cout<<endl;
return0;
}
选项
答案
int i,j,k; i=0; j=0; k=0; while(i<m && j<n) { if(e[i]<a[j]) { S[k++]=e[i++];//取小的,因为从小到大排序 } else if(e[i]==a[j])//相等,取e[i]或a[j]都可 { s[i++]=e[i]; i++; j++; } else//e[i]>a[j],取小的a[j] { s[k++]=a[j++]; } } while(i<m)s[k++]=e[i++];//如果数组e后面还有没有加进来的元素,则加进去 while(j<n)s[k++]=a[j++];//如果数组a后面还有没有加进来的元素,则加进去
解析
(1)由审题分析可知,可设置循环来逐个读取e数组和a数组的元素值,然后选择小的元素放在数组s中,如果相等则取a数组元素或e数组元素均可,可以利用if else语句来进行判断。
(2)由于数组e和数组a长度可能不一定相同,因此在循环结束之后,还需要把长度长的数组的剩余的元素添加到s数字中,即循环结束后如果e数组内还有字符的话把e数组内剩下的字符添加到s数组内,同样如果a数组内还有字符的话把a数组内剩下的字符添加到S数组内。
转载请注明原文地址:https://kaotiyun.com/show/lB8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B在面向对象程序设计中,允许作用于某个对象上的操作称为方法,方法是对象的动态属性。对象间的通信靠消息传递。对象是属性和方法的封装体,可以从祖先中继承属性和方法,但不是任何对象都具有继承
A、 B、 C、 D、 B数据流图中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。
A、 B、 C、 D、 Atest的构造函数重载,testA[3]调用test(intA)函数,然后删除时调用析构函数,故输出选项A。
A、 B、 C、 D、 D本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则:①改进软件结构,提高模块独立性。通过模块的分解或合并,力求
在结构化分析使用的数据流图中,使用用______解释其中的图形元素。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制:#include<iostream>usingnamespacestd;classBase{
若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是()。A)operatorlong()const;B)operatorlong(bigNumber);C)longoperatorlong()
下列选项中不属于软件生命周期开发阶段任务的是()。
下面字符串中,不可以用作C++标识符的是()。
随机试题
在采收加工时需要“发汗”的药材有
A.飞沫传播B.粪—口传播C.血液传播为主D.虫媒传播E.垂直传播新生儿乙型肝炎的主要传播途径是
某患者缺失,灌注模型时,振荡力量过大造成的后果主要是
患者,男,41岁。上腹部烧灼痛反复发作,常发生于空腹或夜间,伴反酸、嗳气半年余。胃液分析示:胃酸分泌增高;细菌学检查:幽门螺杆菌阳性。临床诊断:十二指肠溃疡。可能产生的并发症不包括()。
下面不是纳税主体的是( )。
银行的经营环境时刻都处在变化当中,或者说银行的外部环境存在很大的不确定性,但是不同银行受到的影响是不同的,这取决于银行经营对外部环境的依赖程度以及银行经营模式跟随外部经营环境变化而变化和调整的弹性。一家银行的经营活动和盈利模式越依赖于外部环境,银行潜在的战
在建筑工程险中对于特种风险有赔偿限额的规定,特种风险是指()。
《中华人民共和国合同法》规定,合同是平等体之间设立、变更、终止民事权利义务关系的协议。下列选项中,不适用《中华人民共和国合同法》的合同是()。
(2016年真题)人类社会经历了三次科技革命,第一次科技革命的标志是()。
(河南招警2011—44)在某条街道上,沿街店面的门牌号码是这样的:在街道一侧从1开始,依次用连续的奇数排号;对面的一侧则用连续的偶数。小王家的店面是79号,如果从这条街的另一端开始排号,则他家的店面是163号。那么他家店面的街道这一侧共有多少个店面?(
最新回复
(
0
)