A. C语言编程,两个分别为8和5的有序数组,合并为新数组,并排序。
#include<stdio.h>
voidmain()
{inta[8],b[5],c[13],i,j=0,k=0;
printf("请输入第一个组的8个元素:");
for(i=0;i<8;i++)
scanf("%d",&a[i]);
printf("
请输入第二个组的5个元素:");
for(i=0;i<5;i++)
scanf("%d",&b[i]);
for(i=0;j<8&&k<5;i++)
{if(a[j]<=b[k])
{c[i]=a[j]; j++;}
else
{c[i]=b[k]; k++;}
}
for(;j<8;)
{c[i++]=a[j++];}
for(;k<5;)
{c[i++]=b[k++];}
for(i=0;i<13;i++)
printf("%8d",c[i]);
}
B. c语言怎么把两个数合并在一起
答:c语言可根据其合并规则,把两个数合并在一起。
具体操作步骤如下:
1 .建立一个足够容纳两个数组所有元素的目标数组。如果规则规定将一个数组合并到另一个之中,那么需要保证目标数组有可以容纳两个数组的空间,否则会出现越界。
2 .遍历其中一个数组,并赋值到目标数组中。如果是一个数组合并到另一个,那么此步可以省略。
3 .遍历另一个数组,按照规则插入到目标数组中。
在不同规则下,合并算法会有差异,如将长为lb的B数组附加到长为la的A数组结尾的操作,可以写作。
inti;
for(i=0;ilb;i++)
A[la+i]=B[i];而将长度均为l的数组A,B,交替合并到C中,可以写作。