首页 > 代码库 > 【C练习】两个已经从小到大的数组合并成为一个从小到大排序的数组
【C练习】两个已经从小到大的数组合并成为一个从小到大排序的数组
两个已经从小到大的数组合并成为一个从小到大排序的数组
1 #include<stdio.h> 2 int main() 3 { 4 int m,n,i,j,k,tem=0; 5 printf("这两个数组分别有多少个数:\n"); 6 scanf("%d%d",&m,&n); 7 int a[m],b[n],c[m+n]; 8 printf("从小到大输入%d个数:\n",m); 9 for(i=0;i<m;i++) 10 scanf("%d",&a[i]); 11 printf("从小到大输入%d个数:\n",n); 12 for(i=0;i<n;i++) 13 scanf("%d",&b[i]); 14 i=0;j=0;k=0; 15 do 16 { 17 if(a[i]==b[j]) 18 { 19 c[k]=a[i]; 20 k++; 21 c[k]=b[j]; 22 k++;i++;j++; 23 } 24 else if (a[i]>b[j]) 25 { 26 c[k]=b[j]; 27 j++;k++; 28 } 29 else 30 { 31 c[k]=a[i]; 32 i++; 33 k++; 34 } 35 } 36 while((i!=m)&&(j!=n)); 37 if(i==m) 38 for(;j<n;j++,k++) 39 c[k]=b[j]; 40 if(j==n) 41 for(;i<m;i++,k++) 42 c[k]=a[i]; 43 printf("结果是:\n"); 44 for (;tem<m+n;tem++) 45 printf("%d ",c[tem]); 46 printf("\n"); 47 return 0; 48 } 49 测试运行: 50 xuxiang@xuxiang-X556UQ:~/桌面$ ./2 51 这两个数组分别有多少个数: 52 6 4 53 从小到大输入6个数: 54 6 9 11 13 13 13 55 从小到大输入4个数: 56 1 13 13 19 57 结果是: 58 1 6 9 11 13 13 13 13 13 19 59 xuxiang@xuxiang-X556UQ:~/桌面$
【C练习】两个已经从小到大的数组合并成为一个从小到大排序的数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。