/*设计程序将两个递增有序的数组合并为一个递增有序的数组。*/
#include
int New[1000];
int main()
{void reorder(int a[],int na,int b[],int nb);
int a[500],b[500],na,nb,i=0;
float bri[500];
printf("请输入递增有序数a组数据:(输入任意非整数停止输入)\n");
for(;i<500;i++)
{scanf("%f",&bri[i]);
if(bri[i]==(int)bri[i]) a[i]=(int)bri[i],na=i+1;
else break;
}
printf("请输入递增有序数组b数据:(输入任意非整数停止输入)\n");
for(i=0;i<500;i++)
{scanf("%f",&bri[i]);
if(bri[i]==(int)bri[i]) b[i]=(int)bri[i],nb=i+1;
else break;
}
reorder(a,na,b,nb);
for(i=0;i<na+nb;i++)
printf("%d\t",New[i]);
return 0;
}
void reorder(int a[],int na,int b[],int nb)
{int i,j,k,nNew=na;
for(i=0;i
for(i=0;i
if(b[i]>=New[j]) {if(j==nNew-1) New[nNew]=b[i],nNew++;
else continue;
}
else {for(k=nNew;k>j;k--)
New[k]=New[k-1];
New[j]=b[i];
nNew++;
}
}
}