开发者社区> 问答> 正文

用c++编写一个类输出100到200的素数

#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;
}

展开
收起
a123456678 2016-03-04 17:52:17 3379 0
1 条回答
写回答
取消 提交回答
  • 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;
    }
    2019-07-17 18:52:40
    赞同 展开评论 打赏
问答分类:
C++
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载