while里面可以嵌套if吗?

来源:4-10 循环结构之三种循环比较

一个想自我增值的男孩子

2015-09-12 08:44

#include <stdio.h>

int main()

{

    /* 小伙伴们:

           选择你们认为最合理的循环结构完成功能吧 */

    int sum = 0;  //定义计算结果变量sum

    int i = 1;    //定义循环数字变量i

    //定义符号状态变量flag

    

    //使用while循环

    while(i<=100)

    {   

        if(i%2==0)

        {

          i=0-i;

        }

        sum+=i;

        i++;

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

    }

    

}

    


写回答 关注

3回答

  • kkkbbb
    2015-09-12 19:11:27

    应该是这里:if(i%2==0)

    因为前面你定义了i=1;你说1除以2的余数是多少,根本不能除

    一个想自我增...

    1除以2不是商为0,余为1吗? 小弟也将程序代了进去,但运行结果的一边一片空白。

    2015-09-14 10:45:26

    共 1 条回复 >

  • kkkbbb
    2015-09-12 12:51:53

    可以啊,当然可以咯

    一个想自我增...

    那请问我这个程序出错在哪里呢?请指教。

    2015-09-12 18:17:51

    共 1 条回复 >

  • wuzzxx
    2015-09-12 09:16:02

    可以用if,因为if是判断不是循环哦。但是你的逻辑要清晰,不要弄混。

    wuzzxx 回复一个想自我增...

    if(i%2==0)是如果变量 i 能被2整除 就执行,但是一开始i等于1,不能被2整除,什么都没有执行,你用for循环的话逻辑就清晰了。如下: for(i =1; i<=100;i++){ if (i%2==0){ i=0-i; } sum+=i; i++; } printf("sum=%d",sum); 还有这个输出是不是要在循环外面输出呢,你试试看吧,我很久没写C了

    2015-09-18 11:56:55

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

927010 学习 · 21533 问题

查看课程

相似问题