#include<stdio.h>main(){int i,j,sum;for(i=3;i>=1;i--){sum=0;for(j=1;j<=i;j++)sum+=i*j;}输出sum的值

答案最后是1,我怎么也想不明白

第1个回答  2010-09-16
sum在第一个for循环里面赋值为0啊
int i,j,sum;for(i=3;i>=1;i--)
{sum=0;!!这里赋值sum=0;意味着没循环完了都要给sum重新赋值为0;最后一次循环完之后才不再进行赋值就是i=1时
for(j=1;j<=i;j++)
sum+=i*j;}
{int i,j,sum=0;for(i=3;i>=1;i--){for(j=1;j<=i;j++)sum+=i*j;}在外赋值能得到你想的结果
第2个回答  2012-06-10
sum=0;表示i变化后系统将sum置0,所以显示最后i*j=1x1=0;如果把sum=0;在定义时初始化为0,则结果为25,如下:
#include<stdio.h>main()
{int i,j,sum=0;
for(i=3;i>=1;i--)
{for(j=1;j<=i;j++)sum+=i*j;
}
第3个回答  2010-09-16
你可以把每次sum加的数值看一看就可以了

3*1
3*2
3*3

2*1
2*2

1*1本回答被提问者采纳

#include<stdio.h>main(){int i,j,sum;for(i=3;i>=1;i--){sum=0;for...
sum在第一个for循环里面赋值为0啊 int i,j,sum;for(i=3;i>=1;i--){sum=0;!!这里赋值sum=0;意味着没循环完了都要给sum重新赋值为0;最后一次循环完之后才不再进行赋值就是i=1时 for(j=1;j<=i;j++)sum+=i*j;} {int i,j,sum=0;for(i=3;i>=1;i--){for(j=1;j<=i...

...Void main( ) { int i, j,sum; for(i=3;d>=1;i--) { sum=0; for...
include <stdio.h> void main( ){ int i, j,sum;for(i=3;i>=1;i--) {sum=0; for(j=1;j<=i;j++) {sum+=i*j;}printf("%d\\n",sum);}}for循环 求3*1+3*2+3*3,的值2*1+2*2的值1*1的值 结果18,6,1

c语言,inti,j,sum=0;for(i=1;i<=3;i++)for(j=i;j<=3;j+
sum=24 运行程序:include <stdio.h> int main(void){ int i,j,sum=0;for(i=1;i<=3;i++)for(j=i;j<=3;j++)sum=sum+i+j;printf("%d",sum);}

#include<stdio.h> main() { int i,sum=0; for(i=1;i<=3;sum++,i++...
main(){ int i,sum=0;for(i=1;i<=3;sum++,i++)sum+=i;printf("%d\\n",sum);} 就是求1+2 + 3的和 首先sum 初始化为0;sum += i;相当于sum = sum + i;i=1 判断i<= 3; 成立,执行括号体语句 sum = 0 + 1 = 1;i = 2时,判断i<= 3; 成立,执行括号体语句 sum ...

#include<stdio.h> main() { int i,sum=0; for(i=1;i<=3;sum++,i++...
答案是 10

void main() {int i,j,sum; sum=0; for(i=1;i<10:i++) {for(j=1;j<...
过程都打印出来了 include<stdio.h> int main(){ int i,j,sum;sum=0;for(i=1;i<10;i++)for(j=1;j<10;j++){ sum+=i*j;printf("i*j=%d*%d ",i,j);} printf("\\nsum=%d\\n",sum);return 0;}

#include<stdio.h> main() {inti,j,m=1; for(i=1;i<3;i++) {for(j=...
include<stdio.h> void main(){ int i,j,m=1;for(i=1;i<3;i++)for(j=3;j>0;j--){ if(i*j>3)break;m*=(i*j);printf("%d",&m);} }你是想问什么呢???

#include<stdio.h> main() {int a[3][3]={{1,2},{3,4},{5,6}},i,j...
for(j=0;j<i;j++){ s+=a[i][j];} } printf("%d\\n",s);首先运行第一个for循环满足条件i=1&&i<3===>i只能是1和2 再到第二个for循环满足条件j=0&&j<i===>当i=1时j只能==0,当i=2时j只能是==0或1(条件j<i)如下:i=1 j=0 ===》 s1=a[1][0]+0=3;i=2 j=...

#include<stdio.h> void main() { int i;int sum=0; for(i=1;i<3;s...
没有输出结果,从逻辑上看是死循环,因为for语句结束的条件为i<3,在下面只是sum=sum+i没有对i的值改变,所以会一直执行下去,是死循环。在visual2010中报错。希望能对你有所帮助。你可以把for语句改为for(i=1;i<3;i++)sum+=i这样就输出sum=1+2=3....

#include<stdio.h> main () { int i,j; for(i=1;
include<stdio.h>int main (void ){ int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%d",j,i,i*j); if(i*j<10) \/\/如果相乘结果是1位数,就打印4个间隔的空格 printf(" "); else \/\/结果是2位数,少打印一个空格 ...

相似回答