7 回答
皓韵儿
TA贡献86条经验 获得超114个赞
为什么这么麻烦呢?
int main(){
int sum = 0;
for(int i = 1; i <= 100; ++i){
if(i % 2 == 0){//是2 的倍数
sum -= i;
}
else{
sum += i;
}
}
printf("sum = %d\n", sum);
return 0;
}
望远
TA贡献1017条经验 获得超1032个赞
如楼主注释的这里的flag是控制符号的,而问题就在变量flag的使用上
代码如下:
#include <stdio.h>
int main(void) {
int sum = 0;
int i = 1;
int flag = 1;
while(i<=100){
i=i*flag;
sum=sum+i;
flag = -flag;//每结束一次循环就改变flag的符号
i++;
}
printf("sum=%d\n",sum);
return 0;
}
_潇潇暮雨
TA贡献646条经验 获得超225个赞
你那个flag变量的用法搞错了。代码如下:
#include <stdio.h> int main(void) { int sum = 0; int i = 1; int flag = 1; while(i<=100){ sum += i++ * flag; flag = -flag; } printf("sum=%d\n",sum); return 0; }
- 7 回答
- 0 关注
- 1857 浏览
添加回答
举报
0/150
提交
取消