问答详情
源自:4-14 结束语句之break语句

为什么我用for嵌套while不对?代码如下:

为什么我用for嵌套while不对?


#include<stdio.h>

int main()

{

    int i;

    for(i=0;i<=50;i++)

    {

        while( i%1==0 && i%i==0 )

        {

            printf("%d\t",i);

            break;

        }

    }

}


提问者:慕慕2918583 2015-09-05 10:28

个回答

  • 陆小圣
    2015-09-05 14:45:51
    已采纳

    1. 对于int main()你忘记了加return 0;在末尾

    2. 你的程序出现了0%0的数学错误,0%0相当于0/0···0,0是不能做被除数的

  • 一缕火光焚燎原
    2015-10-19 23:21:19

    1、初始化数值不好,0%0没道理啊!

    2、while(i%1==0&&i%i==0)等同于while(1)没正确选择筛选条件,除0外所有的数都满足

    3、1这个数目前还没有被公认为素数,(质数)素数定义:比1大的自然数中,除了1和本身外不能被其他自然数整除的数

    4、while是构成循环的,你的while里并没有循环语句,应该使用if()语句;

  • 空_
    2015-10-15 19:24:39

    i%1==0 && i%i==0   1到50之间的任何一个数字 都满足这个条件  (注意要求是  只能被1和本身整除) 条件本身有缺陷 我是菜鸟纯属自己理解

  • 晚安先生
    2015-09-26 16:18:21

    大于1的任何一个数都能被1和它本身整除,,程序错误

  • 华府饼干
    2015-09-15 21:10:29

    不应该从i=0开始,应该从i=2开始,1不是素数

  • JSYL
    2015-09-05 10:47:43

    while( i%1==0 && i%i==0 )  当 i = 0 时,while( 0%1==0 && 0%0==0 )