我在将两个数组合二为一时遇到问题,但我需要一个一个地放置一个元素,所以我有以下几点:
arr1[0] = 1; arr2[0] = 12;
arr1[1] = 2; arr2[1] = 20;
arr1[2] = 3; arr2[2] = 30;
arr1[3] = 4; arr2[3] = 40;
arr1[4] = 5; arr2[4] = 50;
arr1[5] = 6; arr2[5] = 60;
arr1[6] = 7; arr2[6] = 70;
arr1[7] = 8; arr2[7] = 80;
arr1[8] = 9; arr2[8] = 90;
arr1[9] = 11;arr2[9] = 100;
Run Code Online (Sandbox Code Playgroud)
我需要通过如下排序将它们合并到第三个数组“arr3”中:
arr3 = [1,12,2,20,3,30,4,40,5,50,6,60,7,70,8,80,9,90,11,100]
这是我制作的代码,但它仍然无法正常工作:
#include <stdio.h>
int main(void) {
int arr1[10], arr2[10], arr3[20], i,k,r;
arr1[0] = 1; arr2[0] = 12;
arr1[1] = 2; arr2[1] = 20;
arr1[2] = 3; arr2[2] = 30;
arr1[3] = 4; arr2[3] = 40;
arr1[4] = 5; arr2[4] = 50;
arr1[5] = 6; arr2[5] = 60;
arr1[6] = 7; arr2[6] = 70;
arr1[7] = 8; arr2[7] = 80;
arr1[8] = 9; arr2[8] = 90;
arr1[9] = 11;arr2[9] = 100;
for(i=0; i<20; i++){
if(arr3[i-1] != 0){
arr3[i] = arr1[i];
arr3[i+1] = 0;
} else {
arr3[i-1] = arr2[i-1];
}
i++;
}
for(k=0; k<20; k++){
printf("arr - %d b: %d \n", k, arr3[k]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
尝试这个。
int i, j;
for (i = 0, j = 0; i < 10; i++) {
arr3[j++] = arr1[i];
arr3[j++] = arr2[i];
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!:)