【发布时间】:2019-09-06 11:05:57
【问题描述】:
我想根据内部循环迭代的项目数连续添加数组中的每个元素。如果输入大小为 3,则外循环也将迭代 3x,并且对于每次迭代,内循环也将迭代 3x,总共 9x。我想弄清楚我将如何连续重复地将数组中的所有项目添加到元素中,以 9 倍返回和第四个元素?
int sum = 0;
int arr[] = {1, 5, 0, 5, 5};
int size = 3;
for(location = 0; location < size; location++)
{
for(location3 = 0; location3 < size; location3++)
{
sum = sum + arr[location3];
printf("%d %d %d\n", location+1, location3, sum);
}
}
由于上述代码的输入大小为 3,因此外循环迭代 3 次,并且对于外循环的每次迭代,内循环迭代 3 次。它只添加数组中的前 3 个元素并从头返回。我想要的是在数组中连续添加所有项目(例如 1+5+0+5+5 并重复 sum + 1+5+0+5 总共 9 次),因为它是总迭代次数.有什么帮助吗?这是我的预期输出:
1 0 1
1 1 6
1 2 6
2 0 11
2 1 16
2 2 17
3 0 22
3 1 22
3 2 27
【问题讨论】:
-
我不太明白你的解释。您的样本数据的预期结果是什么?
-
如果你眯着眼睛看这个问题,你可以看到FizzBuzz。您甚至使用相同的值,即 3 和 5。