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

我的条件是i<100为什么是这样

http://img1.sycdn.imooc.com//5fbe5cfc0001139e13050725.jpg虽然答案是正确的但是过程没有对,哪里出问题了呢?

正在回答

1 回答

#include <stdio.h>
int main()

{
    int i = 1, sum = 0;
    while ( i<=100 )
    {
        if (i % 2 == 0)      //我看你的if条件是求100以内2的倍数的所有数之和,所以你程序里面表述有问题
        {
            sum = sum + i ;        //求和公式最好放外面,看着清爽
            printf("%d是2的倍数,目前和为%d\n", i,sum);        //你要输出的变量都给你考虑到了
        }
        else
        {
            goto step;       //见注释1
        }
        step:i++;
    }
    printf("100以内数的和为:%d\n", sum);
    return 0;
}
 /* 注释1: else是用来剔除非2倍数的数,不能简单的用相反的公式套上去,
 你如果是要求奇数和的话应该另外设定变量,
 因为你使用的是if-else语句,本着不改动你程序基本思想的情况下给你加入了另外的跳出语句goto */


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

举报

0/150
提交
取消

我的条件是i<100为什么是这样

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