c语言编程:输入两个无序数组,分别对其排序,在合并成一个有序数组,怎么编?求教育
1个回答
展开全部
# include<stdio.h> void sort(int a[],int m) { int i,j,term; for(i=0;i<m-1;i++) { term=i; for(j=i+1;j<m;j++) if(a[i]<a[j]) term=j; if(term!=i) { a[i]+=a[term]; a[term]=a[i]-a[term]; a[i]-=a[term]; } } } int merger(int a[],int b[],int m,int n,int *p) { int i,j,l=m; for(i=0;i<n;i++) p[i]=a[i]; for(i=0;i<n;i++) { for(j=0;j<m;j++) if(b[i]==a[j]) break; if(j==m) { p[l]=b[i]; l++; } } return l; } main() { int i,lenth; int a[5]={1,5,3,6,9}; int b[6]={1,5,9,8,4,7}; int c[11]={0}; sort(a,5); for(i=0;i<5;i++) printf("%d ",a[i]); printf("\n"); sort(b,6); for(i=0;i<6;i++) printf("%d ",b[i]); printf("\n"); lenth=merger(a,b,5,6,c); sort(c,lenth); for(i=0;i<lenth;i++) printf("%d ",c[i]); printf("\n"); return 0; } 追问: 好的,我研究研究,3q~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询