㈠ 怎样在C语言中实现两个数组的合并
把两个数组分别合到一个数组里面啊.
那个数组的长度为 两个数组的长度的和
㈡ 请问如何使用C语言把两个数组合并在一个数组里
代码文本:
#include "stdio.h"
int input(int *p,int n){
char i,ch;
for(i=0;i<n;i++){
if((ch=getchar())==' ')
break;
else if(ch>='0' && ch<='9')
ungetc(ch,stdin);
scanf("%d",p+i);
}
return i;
}
int main(int argc,char *argv[]){
int a[21],b[10],i,j,k;
printf("Input array a... ");
i=input(a,10);
printf("and input array b... ");
j=input(b,10);
for(k=0;k<j;a[i++]=b[k++]);
for(j=0;j<i;printf("%d ",a[j++]));
putchar(' ');
return 0;
}
㈢ C语言合并两个数组
不知道楼主是要普通的合并然后排序呢还是高级算法里的归并排序。后者的话建议看看网络http://ke..com/view/90797.htm
前者。
#include<stdio.h>
int
main()
{
int
a[100],b[100];
int
anum,bnum,i,j,k,temp;
printf("请输入数组a的元素个数:");
scanf("%d",&anum);
for(i=0;i<anum;i++)//数组a输入
scanf("%d",&a[i]);
printf("请输入数组b的元素个数:");
scanf("%d",&bnum);
for(i=0;i<bnum;i++)//数组b输入
scanf("%d",&b[i]);
k=anum+bnum;//计算数据总个数
for(i=0;i<bnum;i++)//b数组合入a数组
a[anum+i]=b[i];
for(i=0;i<k-1;i++)
//选择排序
for(j=i+1;j<k;j++)
if(a[i]<a[j])
{temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=0;i<k;i++)//输出最终数组
printf("%8d",a[i]);
return
0;
}