首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-01-06 
程序找错(应该是循环出错)#include iostream#include Cmathusing namespace stdint main( ){int m,n

程序找错(应该是循环出错)
程序觅错(应该是循环出错)#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 跟不上跨度。 少了个 {
[解决办法]
我怎么编译通过 结果也是对的啊

热点排行