数组合并
a,b为升序整型数组,长度分别为lena和lenb,编写一个函数int merge(int a[],int lena,int b[],int lenb,int c[]),将a,b中的数合并到c中,并使c中保持升序排列,函数返回存入c中元素的个数 嗯 本帖最后由 jackz007 于 2019-12-5 18:40 编辑#include <stdio.h>
int merge(int a[] , int lena , int b[] , int lenb , int c[])
{
int d , i , j ;
for(d = 0 , i = 0 , j = 0 ; i < lena && j < lenb ;) {
if(a < b) c = a ;
else c = b ;
}
for(; i < lena ;) c = a ;
for(; j < lenb ;) c = b ;
return d ;
}
main(void)
{
int a[] = {1 , 3 , 5 , 7 , 9 , 11 , 13 , 51 , 53 , 55} ;
int b[] = {2 , 4 , 6 , 8 , 10 , 12 , 14 , 16 , 18 , 20 , 52 , 54} ;
int c ;
int d , k ;
d = merge(a , 10 , b , 12 , c) ;
for(k = 0 ; k < d ; k ++) {
if(! (k % 5)) {
if(k) printf("\n") ;
printf("\t") ;
} else {
printf(" , ") ;
}
printf("%2d" , c) ;
}
printf("\n\n") ;
}
编译、运行实况
C:\Bin>g++ -o qx qx.c
C:\Bin>qx
1 ,2 ,3 ,4 ,5
6 ,7 ,8 ,9 , 10
11 , 12 , 13 , 14 , 16
18 , 20 , 51 , 52 , 53
54 , 55
C:\Bin>
页:
[1]