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]<<'\t';

                        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;

}

 

你可能感兴趣的:(程序设计)