改写要求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; }