3.建议:如果想在一个程序中生成随机数序列,需要至多在生成随机数之前设置一次随机种子。
看下面这个用来生成一个随机字符串的C++程序:
//rand04.cpp
#include
#include
using namespace std;
int main()
{
int rNum,m=20;
char *ch=new char[m];
for ( int i = 0; i //大家看到了,随机种子会随着for循环在程序中设置多次
srand((unsigned)time(NULL));
rNum=1+(int)((rand()/(double)RAND_MAX)*36); //求随机值
switch (rNum){
case 1: ch='a';
break ;
case 2: ch='b';
break ;
case 3: ch='c';
break ;
case 4: ch='d';
break ;
case 5: ch='e';
break ;
case 6: ch='f';
break ;
case 7: ch='g';
break ;
case 8: ch='h';
break ;
case 9: ch='i';
break ;
case 10: ch='j';
break ;
case 11: ch='k';
break ;
case 12: ch='l';
break ;
case 13: ch='m';
break ;
case 14: ch='n';
break ;
case 15: ch='o';
break ;
case 16: ch='p';
break ;
case 17: ch='q';
break ;