这是我的代码:
#include <stdio.h>
int main()
{
int integer1[10], integer2[10], integertotal[10];
int i, j, index;
for (i = 0; i < 10; i++)
integer1[i] = 2 * (i + 4);
for (i = 0; i < 10; i++)
printf(" %d", integer1[i]);
printf("\n");
for (j = 0; j < 10; j++)
integer2[j] = 3 * (j + 3);
for (j = 0; j < 10; j++)
printf(" %d", integer2[j]);
printf("\n");
for (index = 0; index < 10; index++)
integertotal[index] = integer1[i] * 12 + integer2[j] * 10;
for (index = 0; index < 10; index++)
printf(" %d", integertotal[index]);
printf("\n\n");
for (index = 0; index < 10; index++)
printf("%d %d+%d=%d\n", index, integer1[i], integer2[j], integertotal[index]);
}
我希望输出应该是:
(Integer1) 8 10 12 14 16 18 20 22 24 26
(Integer2) 9 12 15 18 21 24 27 30 33 36
(Integertotal) 374 484 594 704 814 924 1034 1144 1254 1364
但是实际结果是:
(Integer1) 8 10 12 14 16 18 20 22 24 26
(Integer2) 9 12 15 18 21 24 27 30 33 36
(Integertotal) 80 92 104 116 128 140 152 164 176 188
最佳答案
我认为您之前输入的“预期输出”是错误的(我认为应该是:186 240 294 348 402 456 510 564 618 672
),并且您有不必要的循环和额外的索引变量。再检查一遍。这是我认为您要执行的操作:
int main() {
int integer1[10], integer2[10], integertotal[10];
int i;
for (i = 0; i < 10; i++) {
integer1[i] = 2 * (i + 4);
printf(" %d", integer1[i]);
}
printf("\n");
for (i = 0; i < 10; i++) {
integer2[i] = 3 * (i + 3);
printf(" %d", integer2[i]);
}
printf("\n");
for (i = 0; i < 10; i++) {
integertotal[i] = integer1[i] * 12 + integer2[i] * 10;
printf(" %d", integertotal[i]);
}
printf("\n");
for (i = 0; i < 10; i++)
printf("%d %d+%d=%d\n", i, integer1[i], integer2[i], integertotal[i]); //I don't understand the output you want. 8+9=186? Why?
printf("\n");
return 0;
}
关于c - 如何添加两个数组以产生第三个数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56212916/