C 重复添加列表中的数字?
我想根据内部循环迭代的项数不断地添加数组中的每个元素。如果输入大小为3,则外部循环也将迭代3次,对于每次迭代,内部循环也将迭代3次,总共迭代9次。我想弄清楚的是,如何连续不断地重复添加数组中的所有项目,以使其返回到元素的第9个和第4个C 重复添加列表中的数字?,c,loops,for-loop,C,Loops,For Loop,我想根据内部循环迭代的项数不断地添加数组中的每个元素。如果输入大小为3,则外部循环也将迭代3次,对于每次迭代,内部循环也将迭代3次,总共迭代9次。我想弄清楚的是,如何连续不断地重复添加数组中的所有项目,以使其返回到元素的第9个和第4个 int sum = 0; int arr[] = {1, 5, 0, 5, 5}; int size = 3; for(location = 0; location < size; location++) { for(location3 = 0
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);
}
}
给你
#include <stdio.h>
int main(void)
{
int sum = 0;
int arr[] = { 1, 5, 0, 5, 5 };
const size_t N = sizeof( arr ) / sizeof( *arr );
size_t size = 3;
for ( size_t location = 0; location < size; location++ )
{
for ( size_t location3 = 0; location3 < size; location3++ )
{
sum = sum + arr[( location3 + location * size ) % N];
printf( "%zu %zu %d\n", location+1, location3, sum );
}
}
return 0;
}
您所需要的只是一个额外的变量,它将迭代数组的元素,并在达到数组限制时初始化
int sum = 0;
int arr[] = {1, 5, 0, 5, 5};
int size = 3;
int location, location3;
int elem = 0; //iterate array elements
for(location = 0; location < size; location++)
{
for(location3 = 0; location3 < size; location3++)
{
sum = sum + arr[elem]; // use the extra variable
printf("%d %d %d\n", location+1, location3, sum);
elem++;
if(elem == 5) //Zero iterator
elem = 0;
}
}
int和=0;
int arr[]={1,5,0,5,5};
int size=3;
int位置,位置3;
int元素=0//迭代数组元素
对于(位置=0;位置<大小;位置++)
{
对于(位置3=0;位置3
我不太明白你的解释。你的样本数据的预期结果是什么?如果你看这个问题时眯着眼睛,你会看到FizzBuzz。您甚至使用了相同的值,即3和5;伯爵会做得更好。
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
int sum = 0;
int arr[] = {1, 5, 0, 5, 5};
int size = 3;
int location, location3;
int elem = 0; //iterate array elements
for(location = 0; location < size; location++)
{
for(location3 = 0; location3 < size; location3++)
{
sum = sum + arr[elem]; // use the extra variable
printf("%d %d %d\n", location+1, location3, sum);
elem++;
if(elem == 5) //Zero iterator
elem = 0;
}
}