//1-3+5-7+...+99-101=1+(-1)3+5+(-1)7
#include"stdio.h"
int main()
{
int a,b,n,sum=0;
for(n=1,b=1;n<=51;++n)
{
if(b%2==0)
{
a=-1;
}
else;
a=1;
sum=sum+(a*(2*n-1));
b++;//拿来判断a什么时候等于-1
} // b为偶数时a=-1
printf("%d",sum);
return 0;
}
//逻辑是对的,自己演算了一部分结果也是对的,可代码输出为2601,问题应该出在了if()?a并未被赋值-1?
不知道哪出问题了,
else后面的分号什么鬼
12行else后面多了个分号啊。加了分号以后,a=1每次都会执行,导致结果是1+3+...+101了
错误原因 else 后面加了 “;”,应该是 else {a = 1} 。代码写的可以再规范些就不会出这个错误了。