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

结果为何只有一个?

#include <stdio.h>
int main()
{
    int m, n;
    for(m=2; m<=50; m++)
    {
		for(n=2; n<m; n++)
        {
            if(  m%m==0 )       //什么条件下跳出当前循环
              break;           //这里应该退出当前循环了
		}	
        if(m == n)   //n循环结束后,如果m=n的话就输出m
        {
               printf("%d  ", m);
	    }
        
    }
	return 0;    
}


正在回答

2 回答

http://img1.sycdn.imooc.com//5a13fef000015d6215060564.jpg

你的结果只有一个是因为你把if(m%n == 0)写成了if(m%m == 0)、

然后每次循环2都被直接跳过了、所以n就一直都等于2、所以只能输出一个结果2来、

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

XinwonLian 提问者

哦哦哦,我那天着急了,非常感谢!
2017-11-28 回复 有任何疑惑可以回复我~

#include<stdio.h>

int main()

{

int m,n;

for(m=2;m<=50;m++)

{

for(n=2;n<m;n++)

{

if(n%m==0)

break;

}

if(m==n)

printf("%d\n",m);

}

return 0;

}

这个怎么和答案不一样?

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

慕函数4029067

if(m%n==0)
2018-06-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

结果为何只有一个?

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