|
发表于 2019-12-5 18:39:04
|
显示全部楼层
本楼为最佳答案
本帖最后由 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[i] < b[j]) c[d ++] = a[i ++] ;
- else c[d ++] = b[j ++] ;
- }
- for(; i < lena ;) c[d ++] = a[i ++] ;
- for(; j < lenb ;) c[d ++] = b[j ++] ;
- 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[80] ;
- 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[k]) ;
- }
- 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>
复制代码 |
|