#include <stdio.h> #include <stdlib.h> #include <malloc.h> //c合并升序数组a,b并存在c数组中
void uparr(inta,int m,intb,int n,int*c);
int main(void) { intnum1; intnum2; intnum3; int m; int i; printf("请输入a数组的长度\n"); scanf("%d",&m); num1=(int)malloc(sizeof(int)m); for(i=0;i<m;i++) { printf("请输入a数组的的元素"); scanf("%d",&num1[i]); } int n; printf("请输入数组b的长度\n") ; scanf("%d",&n); num2=(int)malloc(sizeof(int)n); for(i=0;i<n;i++) { printf("请输入b数组的的元素"); scanf("%d",&num2[i]); } int e=0; num3=(int)malloc(sizeof(int)*e); uparr(num1,m,num2,n,num3); printf("结果为\n"); for(e=0;e<m+n;e++) { printf("%d",&num3[e]); }
return 0;
}
void uparr(inta,int m,intb,int n,int*c) { int k,i,j=0; while(i<m&&j<n) { if(*a<*b) { c[k]=a[i]; a++; k++; i++; }else { c[k]=b[j]; b++; k++; j++; } } return; }