C练习两个已经从小到大的数组合并成为一个从小到大排序的数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]:~/桌面$ ./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 [email protected]:~/桌面$
以上是关于C练习两个已经从小到大的数组合并成为一个从小到大排序的数组的主要内容,如果未能解决你的问题,请参考以下文章
写一个函数,使N个整数按由小到大的顺序排列,要求在主函数中输入10个数,并输出排好序的数