#include <iostream>#include <cmath>using namespace std;int main(){ int i,j; cin>>i; bool ch; for(j=2;j<=sqrt(i);j++) { if(i%j==0) ch=true; //真 不是素数 if(i%j!=0) ch=false; } if(ch) /*******/ cout<<"不是素数"<<endl; else cout<<"是素数"<<endl; }在/***/处,若改为if(ch=true)不能正常输出,但是if(ch==false)可以正常输出,为什么????
2 回答
已采纳
慕用4063026
TA贡献195条经验 获得超115个赞
你自己用了bool声明,if是判断语句,ch=true是个赋值语句,当然不行了,要==
#include <iostream> #include <cmath> using namespace std; int main() { int i,j; cin>>i; bool ch; for(j=2;j<=sqrt(i);j++) { if(i%j==0) ch=true; //真 不是素数 if(i%j!=0) ch=false; } if(ch==true) /*这里要判断*/ cout<<"不是素数"<<endl; else cout<<"是素数"<<endl; }
- 2 回答
- 0 关注
- 1257 浏览
添加回答
举报
0/150
提交
取消