已经修改完成,主要是结束时,通常是某一个数组已经结束,而另一个数组还有数据未合并到c中:
#include "stdio.h"
void main()
{
int a[5],b[5],c[11];
int i,j,k,l,m=0;
printf("please input 5 numbers; \n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("please input another 5 numbers; \n");
for(i=0;i<5;i++)
scanf("%d",&b[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{if(a[j]>a[j+1])
{k=a[j]; a[j]=a[j+1]; a[j+1]=k;}
if(b[j]>b[j+1])
{l=b[j]; b[j]=b[j+1]; b[j+1]=l;}
}
i=j=0;
while(i<5&&j<5)
if(a[i] else c[m++]=b[j++];
for(;i<5;i)c[m++]=a[i++]; //注意这里
for(;j<5;j)c[m++]=b[j++]; //注意这里
for(i=0;i<10;i++)
printf("%d ",c[i]);
}