如何添加两个不相等数组的每个元素并将其存储在第三个数组中?

时间:2019-05-20 07:57:05

标签: c

我想要一个将arr1的每个元素添加到arr2的每个元素并将其存储在第三个数组中的代码。例如,如果arr1={1,2,3}arr2={1,2},则arr3={2,3,3,4,4,5}将会是这样。

请帮助。谢谢

2 个答案:

答案 0 :(得分:0)

尽管您的解释不好,但我认为这是您想要的。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[] = {1, 2, 3};
    int b[] = {1, 2};

    int numElementsA = sizeof(a) / sizeof(int);
    int numElementsB = sizeof(b) / sizeof(int);

    int finalSize = numElementsA * numElementsB;
    printf("finalSize: %i\n", finalSize);

    int* c = malloc(finalSize * sizeof(int));
    int cc = 0;

    for (int x = 0; x < numElementsA; x++) {
        for (int y = 0; y < numElementsB; y++) {
            c[cc] = a[x] + b[y];
            cc++;
        }
    }

    for (int i = 0; i < finalSize; i++) {
        printf("%i ,", c[i]);
    }

    //make sure memory doesn't leak
    free(c);

    return 0;
}

输出:

finalSize: 6
2, 3, 3, 4, 4, 5,

答案 1 :(得分:-2)

按以下长度分配结果数组:输入array1大小*输入array2,然后进行计算。