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

帮我看下这样打为什么没结果?/*使用循环计算1-2+3-4+5-6+…-100的值? 在编辑器中给出了三种循环体结构的部分代码,请选择合适的循环结构补全代码实现此功能。 运行结果为: sum=-50 *

/*使用循环计算1-2+3-4+5-6+…-100的值? 在编辑器中给出了三种循环体结构的部分代码,请选择合适的循环结构补全代码实现此功能。 运行结果为: sum=-50 */    //使用for循环    for(i=1;i<=100;i++)    {i=i*f; sum=sum+i; f=(-1)*f;          }      printf("sum=%d\n",sum); 谁能帮我看下这样打为什么没结果?

正在回答

2 回答

这个代码中:第二遍循环结束后,i作为一个负数(-2)进行自增变成-1。问题就出在i的正负是不能改变的(只能是正)。可以把 {i=i*f; sum=sum+i; f=(-1)*f;          } 改成(sum=sum+i*f;f=(-1)*f;)

0 回复 有任何疑惑可以回复我~

同学,你好。你的逻辑的切入点我不是很明白,不妨试试这种

#include <stdio.h>

int main()

{

int sum=0;

int i;

    for(i=1; i<=100; i++){

//如果是偶数,sum=sum-i;

if(i%2==0){

sum-=i;

}else{

//如果是奇数,sum=sum+i;

sum+=i;

}

    }

printf("sum=%d\n",sum);

    return 0;    

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

帮我看下这样打为什么没结果?/*使用循环计算1-2+3-4+5-6+…-100的值? 在编辑器中给出了三种循环体结构的部分代码,请选择合适的循环结构补全代码实现此功能。 运行结果为: sum=-50 *

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