编程分别输入两个按从小到大排序的数组a和b,将这两个有序数组合并,使合并后的数
7个回答
展开全部
已运行过,没有问题。
#include"stdio.h"
main()
{
int a[5],b[5],c[10],i,j,k=0 ;
printf("Enter a \n");
for(i=0; i<5; i++)
scanf("%d", &a[i]);
printf("Enter b \n");
for(i=0; i<5; i++)
scanf("%d", &b[i]);
i=j=0;
while(k!=9)
{
if(a[i]<b[j]) {c[k]=a[i];i++;k++;}
else {c[k]=b[j];j++;k++;}
if(i>5||j>5) break;
}
if(i==j+1||i==j-1)
if(i>j) c[9]=b[j--];
else c[9]=a[i--];
else if(i>j) for(k--;k<10;k++) c[k]=b[j++];
else for(k--;k<10;k++) c[k]=a[i++];
for ( k=0; k<10; k++ ) printf("%4d", c[k] );
}
#include"stdio.h"
main()
{
int a[5],b[5],c[10],i,j,k=0 ;
printf("Enter a \n");
for(i=0; i<5; i++)
scanf("%d", &a[i]);
printf("Enter b \n");
for(i=0; i<5; i++)
scanf("%d", &b[i]);
i=j=0;
while(k!=9)
{
if(a[i]<b[j]) {c[k]=a[i];i++;k++;}
else {c[k]=b[j];j++;k++;}
if(i>5||j>5) break;
}
if(i==j+1||i==j-1)
if(i>j) c[9]=b[j--];
else c[9]=a[i--];
else if(i>j) for(k--;k<10;k++) c[k]=b[j++];
else for(k--;k<10;k++) c[k]=a[i++];
for ( k=0; k<10; k++ ) printf("%4d", c[k] );
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把题目给完整啊
追问
编程分别输入两个按从小到大排序的数组a和b,将这两个有序数组合并,使合并后的数组仍有序 (从小到大)(要求不用排序算法)??
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询