关于随机产生数的问题
我知道,用srand(time(NULL))可以使rand()产生随机数,但是在下遇到了一个小小的问题……
先看看这个东东吧……
先说,只用看choose()部分就可以了……
#include"iostream.h"
#include"stdlib.h"
#include"time.h"
#include"stdio.h"
class Ccc
{
private:
int n;
char a[100][10];
public:
void get();
int p1,p2,choose();
void output1(),output2();
};
void Ccc::get()
{
int nn;
cout<<"寝室人数:";
cin>>nn;
n=nn;
for(int i=0;i<n;i++)
{
cout<<"寝室成员"<<i+1<<":";
cin>>a[i];
}
}
int Ccc::choose()
{
srand(time(NULL));
return(rand()%n);
}
void Ccc::output1()
{
p1=choose();
do{p2=choose();}
while(p1==p2);
cout<<"最聪明的是"<<a[p1]<<endl;
cout<<"最笨的是"<<a[p2]<<endl<<endl;
}
void Ccc::output2()
{
p1=choose();
do{p2=choose();}
while(p1==p2);
cout<<"最帅(漂亮)的是"<<a[p1]<<endl;
cout<<"最丑的是"<<a[p2]<<endl<<endl;
}
void main()
{
Ccc c;
c.get();
cout<<endl<<"****************************************************************"<<endl;
cout<<"我已经计算好了,想知道答案吗?(y/n)";
char ans;
cin>>ans;
if(ans=='n')return;
cout<<endl;
c.output1();
cout<<endl;
c.output2();
getchar();
}
public:
Ccc();
Ccc::Ccc()
{
srand(time(NULL));
}
int Ccc::choose()
{
return(rand()%n);
}