读书人

程序觅错(应该是循环出错)

发布时间: 2013-01-06 15:44:48 作者: rapoo

程序找错(应该是循环出错)
程序觅错(应该是循环出错)#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;
}


[/code]
[解决办法]
不是循环出错,根本就没进入循环呢。。。else里面的内容没有执行。
不应该用if else,而应该用while来判断,直到遇到合法输入再退出循环。
[解决办法]
else 跟不上跨度。 少了个 {
[解决办法]
我怎么编译通过 结果也是对的啊

读书人网 >C++

热点推荐