zjwzzdj
2015-07-28 16:20
while(i<=100)
{
if(i%2==1)
{
sum=sum+i;
}
else
{
sum=sum-i;
}
i++;
}
这里的i++放在if else 语句前后所得到的结果是正负相反的,这是为什么啊,求教啊!
假设在while前是 int i = 1; 那么就是0+1-2+。。。+99-100 = -50;如果你把i++放在if前面,那么就是0-2+3-...-98+99-100+101 = 50
可以用这代码测试:
#include<iostream>
using namespace std;
int main()
{
int sum = 0;
int i = 1;
while(i<=100)
{
i++;
if(i%2==1)
{
sum=sum+i;
cout<<"+"<<i;
}
else
{
sum=sum-i;
cout<<"-"<<i;
}
}
cout<<endl<<sum;
return 0;
}
C语言入门
926210 学习 · 20797 问题
相似问题