#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 关注
- 1352 浏览
添加回答
举报
0/150
提交
取消
