为了账号安全,请及时绑定邮箱和手机立即绑定

在对循环计算1-2+3-4+5-6+…-100的值时,我使用如下代码,怎么不行呢?

#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;    
}


正在回答

2 回答

首先你的  sum+=1;  最好在  i++;  前,不然得数会少加个1。之后你  i=-i  ,这样的话没有问题,可是检测循环i<=100时,你的i已经被你赋值为-i,所以这会让程序出错的。你可以改成

if(i%2==0){sum-=i;}else{sum+=i;}

2 回复 有任何疑惑可以回复我~
#1

补食者 提问者

非常感谢!
2016-02-08 回复 有任何疑惑可以回复我~

新年快乐,非常感谢

1 回复 有任何疑惑可以回复我~
#1

失落的ZXW

新年快乐,好好学习,天天向上
2016-02-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

在对循环计算1-2+3-4+5-6+…-100的值时,我使用如下代码,怎么不行呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信