题目:在数组a和数组b中分别放入n和m个由小到大的有序整数,程序把两个数组中的数按由小到大的顺序归并到数组c中。
#include<stdio.h>
void scanfArrayItem(int arrayLength, int array[] );
void printArray(int array[] );
int main(){
printf("输入数组a长度");
int alength;
scanf("%d",&alength);
int a[alength];
scanfArrayItem(alength, a);
for(int i = 0;i < alength; i++){
printf("%d ", a[i]);
}
printf( "\n");
printf("输入数组b长度");
int blength;
scanf("%d",&blength);
int b[blength] = {};
scanfArrayItem(blength, b);
for(int i = 0;i < blength; i++){
printf("%d ", b[i]);
}
printf( "\n");
int ai=0,bi=0;
int c[alength+blength] = {};
for(int i=0; i < alength+blength; i++){
if(ai < alength && a[ai] < b[bi]){
c[i] = a[ai];
ai++;
}else {
c[i] = b[bi];
bi++;
}
}
printf( "数组c结果:\n");
for(int i = 0;i < alength+blength; i++){
printf("%d ", c[i]);
}
printf( "\n");
}
void scanfArrayItem(int arrayLength, int arr[] )
{
for(int i = 0;i < arrayLength; i++)
{
printf("输入数组[%d]的值", i);
scanf("%d", &arr[i]);
}
}