使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数MergeAndSort(int s[],int e[],int a[],int m,hat n)实现将两个数组合并。这两个数组已经有序,按照由d,N大的顺序排列。

admin2015-07-20  26

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数MergeAndSort(int s[],int e[],int a[],int m,hat n)实现将两个数组合并。这两个数组已经有序,按照由d,N大的顺序排列。
    例如:
    e[]={l,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,hat n),使之实现上述要求。
  注意:请勿改动主函数。
#include
void MergeAndSort(int s[],
int e[],int a[],int m,int n)
{
}
int main()
{
    int data[2 0],i ;
    int a[]={1,3,5,6);
    int b[]={2,4,5,7,11,13);
    cout<<”a[]=”;
    for(i=0,i<4;i++)
    cout<<<’,’,
    cout<    cout<<。“b[]=”;
    for(i=0;i<6 ; i++)
    cout<<<’,’;
    cout<    MergeAndSort(data,a,b,4,6);
    cout<<”s[]=”;
    for(i=0;i<9 ; i++)
    cout<  <<  ‘.’;
    cout<    return 0;
}

选项

答案int i ,j, k; i=0; j=0; k=0; while(ia[j],取小 的a[j] { S[k++] =a[J++]; } } while( i
解析 (1)由审题分析可知,可设置循环来逐个读取e数组和a数组的元素值,然后选择小的元素放在数组s中,如果相等则取a数组元素或e数组元素均可,可以利用ifelse语句来进行判断。
(2)由于数组e和数组a长度可能不一定相同,因此在循环结束之后,还需要把长度长的数组的剩余的元素添加到s数字中,即循环结束后如果e数组内还有字符的话把e数组内剩下的字符添加到s数组内,同样如果a数组内还有字符的话把a数组内剩下的字符添加到S数组内。
转载请注明原文地址:https://kaotiyun.com/show/N3Np777K
0

最新回复(0)