C语言 升序和降序合并,最后得个升序

来源:百度知道 编辑:UC知道 时间:2024/06/21 03:12:25
将1个按升序排列的数组和1个按降序排列的数组,按升序合并后放到其中一个数组中,要求每个数都一次到位,不得在新数组中重新排序 ~请大侠们解答解答!
例如:
升序排列的数组:a[10] = {2, 5, 9, 16, 22}
降序排列的数组:b[5] = {27, 25, 11, 4, 3}
合并后的数组: a[10] = {2, 3,4,5, 9, 11,16, 22,25,27}

#include<stdio.h>
int main()
{
int a[]={2,5,9,16,22},b[]={27,25,11,4,3},c[10];
int lena,lenb,i,ii,temp=0,j=0;
lena=sizeof(a)/sizeof(a[0]);
lenb=sizeof(b)/sizeof(b[0]);
for(ii=lenb-1;ii>=0;ii--)
{
for(i=temp;i<lena;i++)
{
if(b[ii]>=a[i])
{
c[j]=a[i];
j++;
temp++;
continue;

}
else
{
c[j]=b[ii];
j++;
break;
}

}
if(temp>=lena)
{
c[j]=b[ii];
j++;
}
}
for(j=0;j<10;j++)
{
printf("c[%d]=%d\n",j,c[j]);
}

getch();
return 0;
}
/*哥们 你这个问题出得相当Bt啊 要求每个数都一次到位~~这个一次到位可累死我了 不过总算弄出来了 执行过了好用 并且是按你的要求一次到位
看不懂的地方hi百度和我聊^_^*/