使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成fun()函数,其功能是:将两个从小到大有序数组a和b,复制合并出一个有序整数序列C,其中形参n和m分别是数组a和b的元素个数。 注意:不能修改程序的其他部分,只能修改fun()函数。 #inc

admin2021-09-05  29

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成fun()函数,其功能是:将两个从小到大有序数组a和b,复制合并出一个有序整数序列C,其中形参n和m分别是数组a和b的元素个数。
注意:不能修改程序的其他部分,只能修改fun()函数。
#include(iostream.h>
void  fun  (int  a[],int  n,int
b[],int m,int*c)
{
}
void main()
{
    int A[]={3,5,7,9,II,18,21},
    int B[]={6,15,19,21,3 9);
    int C[25],i ;
    for(i=0;i<2 5 ; i++)C=0,
    cout<<”A[]=”;
    for(i=0;i<7 ; i++)
    cout<<<‘,’;
    cout<    cout<<”B[]=”;
    for(i=0 j i<5; i++)
    cout<<<’.’;
    cout<    fun(A,7,B,5,C);
    cout<<”C[]=”;
    for(i=0 ; i<12 ; i++)
    cout  <<  C  <<  ’,’;
    cout<    return;
}

选项

答案int i,j ; for(i=j=0;i
解析 (1)该程序功能是将两个从小到人有序数组a和b,复制合并出一个有序整数序列c。它的解题思路,凶为要合并的数组是有序数组,所以在循环中依次比较两个数组中的元素大小,如果它比另一个数组的元素小,那么将其拷贝到c,并将其向后移动,直到数组结尾。
(2)从己给部分源程序的main主函数开始入手,核心函数void fun(int a[],int n,int b[],int m,int木c)中的a,b参数为要合并的数组,n和m为两个数组的人小,c为合并的结果。
解题思路
(1)首先都指向数组的第一个元素。
(2)然后利用for循环对要合并的两个数组中的元素进
行比较,直到两个数组结束。
(3)取比较结果小的元素,并将指向这个数组的位置向后移动一位。
转载请注明原文地址:https://kaotiyun.com/show/Js5p777K
0

最新回复(0)