#include
#include
#include
using namespace std;
class Prime
{
private:
int a[25];
int n1,n2;
int num;
public:
Prime(int n1,int n2,int num);
void primef();
void show();
};
Prime::Prime(int m1,int m2,int n):n1(m1),n2(m2),num(n){}
void Prime::primef()
{
int m,i,k,leap=1,h=0;
for(m=100;m<=200;m++)
{
k=sqrt(m);
for(i=2;i<=k;i++)
{
if(m%i==0)
{
leap=0;
}
}
if(leap==1)
{
a[h]=m;
h=h+1;
num=1+num;
}
}
cout<<num;
}
void Prime::show()
{
int j;
for(j=0;j<=(num-1);j++)
{
cout<<"a[j]="<<a[j]<<" ";
if(j%5==0)
cout<<endl;
}
cout<<"num="<<num<<endl;
}
int main()
{
Prime p(100,200,0);
p.primef();
p.show();
return 0;
}
for(m=100;m<=200;m++)
{
k=sqrt(m);
for(i=2;i<=k;i++)
{
if(m%i==0)
{
leap=0;
}
}
if(leap==1)
{
a[h]=m;
h=h+1;
num=1+num;
}
//....
}
这个部分有问题,你
int leap = 0;
在
if(m%i==0)
{
leap=0;
}
修改成
if(m%i==0)
{
leap++;
}
下面
if( leap==0 )
{
a[h]=m;
h=h+1;
num=1+num;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。