首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
25
问题
使用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://jikaoti.com/ti/3XA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B快速排序的基本思想是:从表中选取一个元素(如本题中的33),将表中小于此元素的移到前面,大于此元素的移到后面,结果把线性表分割成两部分(两个子表),此元素插入到其分界线的位置处。然后
A、 B、 C、 D、 B在面向对象程序设计中,允许作用于某个对象上的操作称为方法,方法是对象的动态属性。对象间的通信靠消息传递。对象是属性和方法的封装体,可以从祖先中继承属性和方法,但不是任何对象都具有继承
A、 B、 C、 D、 C通过调用友元函数,实现求解n!的算法。sum=5!+4!+3!+2!。
在结构化分析使用的数据流图中,使用用______解释其中的图形元素。
下列程序的输出结果是______。#include<iostream>#include<cstring>usingnamespacestd;voidfun(constchar*S,char&C){e=
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:#include<iostream>usingnamespaees
若有类声明:classMyClass{public:MyClass(){cout<<1;}};执行下列语句MyClassa,b[2],*P[2];以后,程序的输出结果是A)11
有如下程序:#include<iostream>usingnamespacestd;classtest{private:inta;public:test(){cout<<"c
下列叙述中错误的是A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持
下列字符串中,正确的C++标识符是()。
随机试题
下列关于淋病的说法。错误的是
下列被称为“元神之府”的是
下列哪一学派认为法律可与道德分离,对法律的评价与对法律的描述并不必然一致,强调“法律的安定性”优先,强调法律的体系性和逻辑性,认为应当从法律本身来寻找和说明法律的效力的根据,从法律之外来讨论,法律就失去了安定性,稳定性或可预测性,人们将无所适从?()
在隧道的施工过程中,常用的临时支护有()。
陶行知先生曾做过一个比喻“接知如接枝”,这个比喻体现了()。
基础教育课程改革的核心理念是什么?简述新课程倡导的学生观。
20世纪90年代以来,按照依法治监工作的总体部署,我国监狱系统启动()。
早年,梅兰芳与人合演《断桥》,也就是《白蛇传》,剧情是白娘子和许仙两个人悲欢离合的爱情故事,梅兰芳在剧中饰演白娘子。剧中,白娘子有一个动作就是面对负心的丈夫许仙追赶、跪在地上哀求她的时候。她爱恨交加、五味杂陈,就用一根手指头去戳许仙的脑门儿,不想。梅兰芳用
由于常对象不能被更新,因此()。
Largecertificatesofdepositare"negotiable",meaningthat______.
最新回复
(
0
)