C++程序设计实践指导1.8求指定范围内的所有素数改写要求实现

改写要求1:以指针为数据结构动态开辟存储空间

#include <cstdlib>
#include <iostream>

using namespace std;

class PRIMENUM
{
    int *p;
    int span1,span2;
    int num;
    public:
           PRIMENUM(int n1,int n2)
           {
               num=0;
               span1=n1;span2=n2;
           }    
           int isprime(int x);
           void process()
           {
                p=new int[span2-span1];
                for(int i=span1;i<=span2;i++)
                   if(isprime(i))
                      p[num++]=i;
           }
           void print()
           {
                cout<<"num= "<<num<<endl;
                int k=0;
                for(int i=0;i<num;i++)
                {
                        cout<<p[i]<<'	';
                        k++;
                        if(k%5==0)
                           cout<<endl;
                }
                cout<<endl;
           }
}; 

int PRIMENUM::isprime(int x)
{
    for(int i=2;i<x/2;i++)
       if(x%i==0)
       return 0;
    return 1;
}
int main(int argc, char *argv[])
{
    PRIMENUM test(100,200);
    test.process();
    test.print();
    system("PAUSE");
    return EXIT_SUCCESS;
}
原文地址:https://www.cnblogs.com/c5395348/p/4274666.html