回复 9楼 wp231957
仅仅8个数我也能猜出来,逐个计算也能算出来,但是我想弄明白其中的原理,就是原代码中红色字体部分。
回复 10楼 zbjzbj
那么,为什么sum[i]+=num[j];是正确的,而sum[j]+=num[i]就不行呢?
程序代码:#include <stdio.h>
int main(void)
{
int num[5]={1,2,3,4,5};
int sum[5]={0};
int i,j;
for(i=0;i<5;i++)
{
for(j=0;j<=i;j++)
{
sum[i]+=num[j];
printf("sum[%d] =%2d \n",i,sum[i]);
}
printf("第 %d 重外循环结束\n" ,i+1 );
}
return 0;
}
/*
sum[0] = 1
第 1 重外循环结束
sum[1] = 1
sum[1] = 3
第 2 重外循环结束
sum[2] = 1
sum[2] = 3
sum[2] = 6
第 3 重外循环结束
sum[3] = 1
sum[3] = 3
sum[3] = 6
sum[3] =10
第 4 重外循环结束
sum[4] = 1
sum[4] = 3
sum[4] = 6
sum[4] =10
sum[4] =15
第 5 重外循环结束
*/
#include <stdio.h>
int main(void)
{
int num[5]={1,2,3,4,5};
int sum[5]={0};
int i,j;
for(i=0;i<5;i++)
{
for(j=0;j<=i;j++)
{
sum[j]+=num[i];
printf("sum[%d] =%2d \n",j,sum[j]);
}
printf("第 %d 重外循环结束\n" ,i+1 );
}
return 0;
}
/*
sum[0] = 1
第 1 重外循环结束
sum[0] = 3
sum[1] = 2
第 2 重外循环结束
sum[0] = 6
sum[1] = 5
sum[2] = 3
第 3 重外循环结束
sum[0] =10
sum[1] = 9
sum[2] = 7
sum[3] = 4
第 4 重外循环结束
sum[0] =15
sum[1] =14
sum[2] =12
sum[3] = 9
sum[4] = 5
第 5 重外循环结束
*/
自己看看先
