用c语言,编写一个函数int merge(int a[],int lean,int b[],in)
用c语言,编写一个函数intmerge(inta[],intlean,intb[],in)(完整的题目)用c语言,编写一个函数intmerge(inta[],intlea...
用c语言,编写一个函数int merge(int a[],int lean,int b[],in)(完整的题目)用c语言,编写一个函数int merge(int a[],int lean,int b[],int lenb,int c[]),将两个递增的有序数组a(长度为leab)与b(长度为lenb)有序数组合并到数组c,函数返回c的长度。请编写程序进行测试
展开
1个回答
展开全部
#include <stdio.h>
int merge(int a[],int lena,int b[] ,int lenb,int c[])
{
int i=0,j=0,lenc=0;
while(i<lena ||j<lenb)
{
if(a[i]<b[j])
c[lenc++]=a[i++];
else
c[lenc++]=b[j++];
}
if(i<lena)
for(i;i<lena;i++) c[lenc++]=a[i];
if(j<lenb)
for(j;j<lenb;j++) c[lenc++]=b[j];
return lenc;
}
int main()
{
int a[]={1,3,5,7},b[]={2,4,6,8,10},c[100],i,lenc;
lenc=merge(a,sizeof(a)/sizeof(a[0]),b,sizeof(b)/sizeof(b[0]),c);
for(i=0;i<lenc;i++) printf("%d\n",c[i]);
return 1;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询