C++高手帮忙!while语句1加到100的问题!!

请问一下,这个是从1加到100的while语句,感觉应该对了,应该等于5050,但是总是等于5150,帮忙看看哪里错了!多谢!!

int i;
int sum;

i=1;
sum=0;

while(i<=100)
{
i=i+1;
sum=sum+i;
}

cout<<"从1加到100的和:"<<sum<<endl;

给出解释!多谢了!!

第1个回答  2011-12-22
while(i<=100)
{
sum=sum+i;
i=i+1;
}
这样就没逻辑错误了,1加到100,应该是1+2+3+4+....100,而不是2+3+4+5......+101追问

谢谢,能帮忙解释下sum到底是什么意思?起的是什么作用?

追答

sum起的是总和的作用
i分别代表的是1到100的数字
sum的作用就是把1到100的数字一个个加到自己身上

比如sum=sum+1,(sum=1)
sum=sum+2(sum=3)
...
sum=sum+100(sum=5050)

追问

那么像前面的sum=0,sum=多少的值应该怎么确定?如果是求100以内奇数的和或5的阶乘sum应该等于几?麻烦了!

追答

sum一开始要=0,具体就不想解释,也解释不来。。因为1加到100要从0开始加

100以内的奇数和也是一样的,sum一开始要为0

while(i<=100)
{
sum=sum+i;
i=i+2;
}
改个数字就是奇数和了

本回答被提问者采纳
第2个回答  2011-12-22
{ int i,sum,n;
i=1;sum=0;
while(i<=100)
{
sum=sum+i;
i++;
}
printf(“%d\n”,sum);
}int i,sum,n;
i=0;sum=0;
while(i<=100)
{
i++;
sum=sum+i;
}
printf(“%d\n”,sum);
}

第3个回答  2011-12-22
把i=i+1放到sum=sum+i后面去
解释:每次多加了1
相似回答