用c++求100~200之间的素数,本人初学啊,看不懂哪里错了啊。

#include<iostream>
using namespace std;
int main()
{
int n=100,i=2;
float m=0;
for(n=100;n<=200;n++)
{for(i=2;i<=200;i++)
m=n%i;
if(m=0)
continue;
}

cout<<n<<'\n'<<endl;
return 0;
}

第1个回答  2012-06-14
#include<iostream>
using namespace std;
int main()
{
int n,i;
bool bNot;

for(n=100;n<=200;n++)
{
bNot = false;
for(i=2;i<=n;i++)
if (n % i == 0)
{
bNot = true;
break;
}
if (bNot)
continue;
cout<<n<<'\n'<<endl;
return 0;
}
}
你的程序中在第二个循环需要加{,如果加了{,continue语句只对第二个循环有用,要要break;同循环用continue. 还有M 如果 float 比较就不能用 m == 0 了,因为这个条件永远不成立,需要用
if (m > -0.00000000001) && (m < 0.00000000001) 因为M永远都不可能为0
第2个回答  2012-06-14
先抛开算法不管,以下代码就有问题,m==0才说明m与0比较,而m=0说明把0赋值给m
if(m=0)
continue;
}

cout<<n<<'\n'<<endl;这个语句在for语句外面,肯定只能打最后一个数字
第3个回答  2012-06-14
#include<iostream>
using namespace std;
int main()
{
int n=100,i=2;
int m=0;
for(n=100;n<=200;n++)
{
for(i=2;i<n;i++)
{
m=n%i;
if(m==0)
break;
}
if(i==n)
cout<<n<<endl;
}
return 0;
}本回答被提问者和网友采纳
第4个回答  2012-06-14
#include<iostream>
using namespace std;
int main()
{
int n,i,m=0;
for(n=100;n<=200;n++)
{
for(i=2;i<n;i++)
{
m=n%i;
if(m==0)
break;
}
if(i==n)
cout<<n<<'\n'<<endl;

}
return 0;
}
第5个回答  2012-06-14
if错了 if(m==0)
大家正在搜