整形数组合并

题目标题:

将两个整型数组按照升序合并,并且过滤掉重复数组元素

详细描述:

接口说明

原型:

voidCombineBySort(int* pArray1,intiArray1Num,int* pArray2,intiArray2Num,int* pOutputArray,int* iOutputNum);

输入参数:

    int* pArray1 :整型数组1

     intiArray1Num:数组1元素个数

     int* pArray2 :整型数组2

     intiArray2Num:数组2元素个数

输出参数(指针指向的内存区域保证有效):

    int* pOutputArray:合并后的数组

     int* iOutputNum:合并后数组元素个数

返回值:

    void

 

 

输入:3 1 2 5 4 -1 0 3 2
输出:-101235
 

#include <iostream>  

using namespace std;   
 
int main(void)
{
int a,b,k,c;
int anum[100];
int bnum[100];
int out[200];
int flag=0;
k=0;
cin>>a;
for(int i=0;i<a;i++)
{
cin>>anum[i];
}
cin>>b;
for(int i=0;i<b;i++)
{
 cin>>bnum[i];
}


   for(int i=a;i<a+b;i++)
   {
        anum[i]=bnum[k];
k++;
   }
      out[0]=anum[0];
 k=1;
 for(int i=1;i<a+b;i++)
 {
 for(int j=0;j<k;j++)
 {
if(out[j]==anum[i])//这个地方把i写成k了,我就是调一万年不改也好不了啊,一万次重复都检查不出来
flag=1;
 }
 if(flag==0)
{
out[k]=anum[i];
k++;
}
flag=0;
 }
for (int i = 0; i < k-1; i++)  //这个地方是k-1啊,都做一万遍了
    {  
        for (int j = i + 1; j < k; j++)  
        {  
            if (out[i] > out[j])  
            {  
                c=out[i];
out[i]=out[j];
out[j]=c;
            }  
        }  
    }  
for(int i=0;i<k;i++)
{
  cout<<out[i];//这个地方我是不是傻,还是把i写成k了,大笨蛋
}
return 0;  

}

今天做题效果巨差,饭了好多低级错误,突然好嫌弃自己,标一下自己今天脑袋在哪抽了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值