c++,求助一下,下面的代码有什么问题,谢谢-创新互联
任务描述
创新互联服务项目包括庆阳网站建设、庆阳网站制作、庆阳网页制作以及庆阳网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,庆阳网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到庆阳省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!本关任务:用指针方法编写程序,分别输入两个按从小到大排序的数组 a 和 b,将这两个有序数组合并,使合并后的数组 c 仍是从小到大排列
测试说明
平台会对你编写的代码进行测试:
测试输入:10
10
15
42
52
59
64
67
73
82
88
3
24
32
57
输入说明: 第一行为
n
,表示输入数组a
的n
个整数。 第二行为从小到大的n
个整数。 第三行为m
,表示输入数组b
的m
个整数。 第四行为从小到大的m
个整数。
预期输出:10
15
24
32
42
52
57
59
64
67
73
82
88
到大有序的。
错误代码如下
#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://azwzsj.com/article/dcijip.html