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 关注
- 2055 浏览
添加回答
举报
0/150
提交
取消
