首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
2018-10-23
18
问题
使用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),使之实现上述要求。
注意:请勿改动主函数。
1 #include<iostream.h>
2 void MergeAndSort(int s[], int e[],int a[],int m,int n]
3 {
4
5 }
6 int main()
7 {
8 int data[20],i;
9 int a[]={1,3,5,6};
10 int b[]={2,4,5,7,11,13};
11 cout<< ’’a[]=’’;
12 for(i=0;i<4;i++)
13 cout<<a
<<’,’;
14 cout<<end1;
15 cout<<’’b[]=’’;
16 for(i=0;i<6;i++)
17 cout<<b
<< ’,’;
18 cout<<end1;
19 MergeAndSort(data,a,b,4,6);
20 cout<<’’s[]=’’;
21 for(i=0;i<9;i++)
22 cout<<data
<<’,’;
23 cout<<end1
24 return 0;
25 }
选项
答案
1 int i,j,k; 2 i=0; 3 j=0; 4 k=0; 5 while(i<m&&:j<n) 6 { 7 if(e[i]<a[j]) 8 { 9 s[k++]=e[i++];//取小的,因为从小到大排序 10 } 11 else if(e[i]==a[j])//相等,取e[i]或a[j]都可 12 { 13 s[k++]=e[i]; 14 i++; 15 j++; 16 } 17 else //e[i]>a[j],取小的a[j] 18 { 19 s[k++]=a[j++]; 20 } 21 } 22 while( i<m) s[k++] =e[i++];//如果数组e后面还有没有加进来的元素,则加进去 23 while(j<n) s[k++] =a[j++];//如果数组a后面还有没有加进来的元素,则加进去
解析
函数MergeAndSort(int s[],int e[],inta[],int m,int n)实现将数组e和数组a的合并,这两个数组已经照由小到大的顺序排列,因此只需逐个比较e数组和a数组的元素值,每次取两个元素值的小的,如果相等则取两个当中的任意一个均可。
(1)由审题分析可知,可设置循环来逐个读取e数组和a数组的元素值,然后选择小的元素放在数组s中,如果相等则取a数组元素或e数组元素均可,可以利用ifelse语句来进行判断。
(2)由于数组e和数组a长度可能不一定相同,因此在循环结束之后,还需要把长度长的数组的剩余的元素添加到s数字中,即循环结束后如果e数组内还有字符的话把e数组内剩下的字符添加到S数组内,同样如果a数组内还有字符的话把a数组内剩下的字符添加到s数组内。
转载请注明原文地址:https://kaotiyun.com/show/WwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是______。#include<iostream.h>voidmain(){inta=0;a+=(a=8);cout<<a;}
两个或两个以上模块之间关联的紧密程度称为()。
虚函数必须是类的【】。
有如下程序;#include<iostream>usingnamespacestd;classDA{intk;public:DA(intx=1):k(x){}~DA(){c
设有定义charstr[80]以下不能将输人数据nrst\nsecond\<CR)读取到数组str的语句是()。
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
在算法的4个特性中,算法必须能在执行有限个步骤之后终止指的算法的特性。
下面关于C++流的叙述中,正确的是()。
在表达式x-y中,"-"是作为非成员函数重载的运算符。若使用显式的函数调用代替直接使用运算符"-",这个表达式还可以表示为
随机试题
人类生活中最基本、最重要的一种群体形式是()
关于恒牙髓腔的叙述错误的是()
根据城市规模人数、房屋数、()等,可以确定给水工程的设计规模。
受国家政策扶持,3D打印产业及市场呈现爆发式增长。智创三维有限公司是国内一家3D打印设备制造商,该公司通过仿造国外同类产品,制造用来打印珠宝、齿科产品等中小型产品的3D打印设备。但是,受技术水平的制约,其产品质量欠佳,故障率明显高于国外同类产品。根据SWO
抽样的方法包括()。
某位新教师非常关注领导和同事对自己的评价,关注自己是否被学生喜欢,属于教师成长过程中的()。
禽流感流俗地说,就是禽类的病毒性流行性感冒,是由A型流感病毒引起禽类的一种从呼吸系统到严重全身败血症等多种症状的传染病,禽类感染后死亡率很高。其传染源主要是鸡、鸭,人类在直接接触受H5N1病毒感染的家禽及其粪便或直接接触H5N1病毒后也可能会受到感染。此外
在窗体上画一个驱动器列表框、一个目录列表框和一个文件列表框,其名称分别为Drive1、Dir1和File1。当改变目录列表框的内容时,要求文件列表框中显示当前选中的文件夹中的内容,则在Dir1_change事件过程中应使用的语句是:______。
Onecanunderstandothersmuchbetterbynotingtheimmediateandfleetingreactionsoftheireyesand______toexpressedthoug
A、We’llthinkofablackelephantmovingathighspeed.B、We’llcreateapurpleelephantinourimagination.C、We’lldrawanele
最新回复
(
0
)