#include <stdio.h> int main() { int sum = 0; //定义计算结果变量sum int i = 1; //定义循环数字变量i while(i<=100) { i++; if(i%2==0) { i=-i; } sum+=i; } printf("sum=%d\n",sum); return 0; }
首先你的 sum+=1; 最好在 i++; 前,不然得数会少加个1。之后你 i=-i ,这样的话没有问题,可是检测循环i<=100时,你的i已经被你赋值为-i,所以这会让程序出错的。你可以改成
if(i%2==0){sum-=i;}else{sum+=i;}
新年快乐,非常感谢