c++,求助一下,下面的代码有什么问题,谢谢-创新互联

任务描述

创新互联服务项目包括庆阳网站建设、庆阳网站制作、庆阳网页制作以及庆阳网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,庆阳网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到庆阳省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

本关任务:用指针方法编写程序,分别输入两个按从小到大排序的数组 a 和 b,将这两个有序数组合并,使合并后的数组 c 仍是从小到大排列

测试说明

平台会对你编写的代码进行测试:

测试输入:10101542525964677382883243257

输入说明: 第一行为n,表示输入数组an个整数。 第二行为从小到大的n个整数。 第三行为m,表示输入数组bm个整数。 第四行为从小到大的m个整数。

预期输出:10152432425257596467738288

到大有序的。

错误代码如下

#include
#define N 1000
#define M 1000
int main()
{
  int a[N],b[M],c[M+N];
  int m,n,*pi,*pj,*ph;
  ph=c;
scanf("%d",&n);
for(pi=a;pi<=a+n-1;pi++)
{
  scanf("%d",pi);
  }
scanf("%d",&m);
for(pj=b;pj<=b+m-1;pj++)
{
  scanf("%d",pj);
}

for(pi=a,pj=b;pi {
if(*pi<*pj)
{
  *ph=*pi;ph++;
}
if(*pi>*pj)
{
  *ph=*pj;ph++;}
if(m>n)
{
  if(pj==b+n)
  {
  break;
  }
}
if(n>m)
{
  if(pi==a+m)
  break;
  }

if(n>m)
{
  for(pi=a+m;pi<=a+n-1;pi++)
  {
 *ph=*pi;ph++;
  }
}
if(m>n)
{for(pj=b+n;pj<=b+m-1;pj++)
  *ph=*pj;ph++;
}
for(ph=c;ph<=c+m+n-2;ph++){
  printf("%d ",*ph);

}
return 0;    
}

顺便问下,指针*p前的”*“”什么时候加?

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:c++,求助一下,下面的代码有什么问题,谢谢-创新互联
本文链接:http://scyanting.com/article/dcijip.html