做餐饮企业网站的费用,电商平台开发需要哪些技术人员,dede网站 异步生成,有哪些建设网站的介绍使用qsrand和qrand生成随机数。
生成随机数 生成随机数主要用到了函数qsrand和qrand#xff0c;qsrand用来设置种子点#xff0c;该种子为qrand生成随机数的起始值。如果不调用qsrand,那么qrand()就会自动调用qsrand(1)#xff0c;即系统默认将1作为随机数的起始值。使… 介绍使用qsrand和qrand生成随机数。
生成随机数 生成随机数主要用到了函数qsrand和qrandqsrand用来设置种子点该种子为qrand生成随机数的起始值。如果不调用qsrand,那么qrand()就会自动调用qsrand(1)即系统默认将1作为随机数的起始值。使用相同的种子生成的随机数一样。 下列代码生成了[0,99]之间的随机数: qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));int test qrand()%100;
生成不重复的随机数
代码如下:
void generateUniqueRandomNumber()
{int i,j;QListint numbersList;qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));for(i0;i10;i){numbersList.append(qrand()%10);bool flagtrue;while(flag){for(j0;ji;j){if(numbersList[i]numbersList[j]){break;}}if(ji){numbersList[i]rand()%10;}if(ji){flag!flag;}}}for(i0;i10;i){qDebug()numbersList[i];}
}
生成递增的随机数 随机数生成后进行排序使用排序函数qSort。
void generateAscendRandomNumber()
{int i;QListint numbersList;qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));for(i0;i10;i){numbersList.append(qrand()%10);}qSort(numbersList.begin(),numbersList.end());for(i0;i10;i){qDebug()numbersList[i];}
}
新版本的QTqsrand和qrand函数已经丢弃使用新的类QRandomGenerator。如需要生成正随机数
quint32 value QRandomGenerator::global()-generate();