程序找错(应该是循环出错)
#include <iostream>
#include <Cmath>
using namespace std;
int main( )
{
int m,n;
cout<<"请输入一个正整数:";
cin>>m;
if(m<=1)
cout<<"您的输入有误,请重新输入!"<<endl;
else
for(n=2; n<m; n++){
if(m%n==0){
cout<<m<<"不是素数"<<endl;
return 0;
}
cout<<m<<"是素数"<<endl; }
return 0;
}
当程序跑到“cout<<"您的输入有误,请重新输入!"<<endl;
”时,若输入-1,程序仍会继续往下跑,物品试着加了break和continue,但提示都有错误,大家给找找错
[解决办法]
在else上面使用fflush(stdin);试试。
[解决办法]
#include <iostream>
#include <Cmath>
using namespace std;
int main( )
{
int m,n;
cout<<"请输入一个正整数:";
cin>>m;
if(m<=1)
{
cout<<"您的输入有误,请重新输入!"<<endl;
return 0; //0表示不满足最终素数的要求
}
else
for(n=2; n<m; n++){
if(m%n==0){
cout<<m<<"不是素数"<<endl;
return 0;
}
cout<<m<<"是素数"<<endl; }
return 1; //1表示输入的数是正数并进行了else中的运算
}
[解决办法]
else
for(n=2; n<m; n++){
if(m%n==0){
cout<<m<<"不是素数"<<endl;
return 0;
}
cout<<m<<"是素数"<<endl; }
return 0;
}
改下
[code=c]
else
{
for(n=2; n<m; n++){
if(m%n==0){
cout<<m<<"不是素数"<<endl;
return 0;
}
}
cout<<m<<"是素数"<<endl;
}
return 0;
}