当前位置: 技术问答>linux和unix
求一个随机函数,此函数返回一范围内的值,但每次调用所返回的值不能有重复。不要记录已用过的随机值。
来源: 互联网 发布时间:2015-10-21
本文导语: 如题。 | 数据比较大的情况: 看过电视上的手机号码(身份证号码)抽奖吧, 可以给每一个数据位取随机数. 记录下已经取出的数值, 如是重复的,就重新取值. 数据比较小的情况: #include /****...
如题。
|
数据比较大的情况:
看过电视上的手机号码(身份证号码)抽奖吧, 可以给每一个数据位取随机数. 记录下已经取出的数值, 如是重复的,就重新取值.
数据比较小的情况:
#include
/********************************************************************
* 从0~9 十个数值里面,随机取 n个数
* [Parameters]
* int ret[] 返回随机序列
* int nsize ret数组大大小(所取随机数的个数)
* [Return Parameters]
* int 返回值: 1:成功 0:失败(数据合法)
*
********************************************************************/
int get_rand_list(int ret[],int nsize)
{
int i,j,k,m,t,temp;
int a[10]={0,1,2,3,4,5,6,7,8,9};
if ((nsize 10)) {
return 0;
}
srand((unsigned)time( NULL ));
m = 10;
for (i=0; i
看过电视上的手机号码(身份证号码)抽奖吧, 可以给每一个数据位取随机数. 记录下已经取出的数值, 如是重复的,就重新取值.
数据比较小的情况:
#include
/********************************************************************
* 从0~9 十个数值里面,随机取 n个数
* [Parameters]
* int ret[] 返回随机序列
* int nsize ret数组大大小(所取随机数的个数)
* [Return Parameters]
* int 返回值: 1:成功 0:失败(数据合法)
*
********************************************************************/
int get_rand_list(int ret[],int nsize)
{
int i,j,k,m,t,temp;
int a[10]={0,1,2,3,4,5,6,7,8,9};
if ((nsize 10)) {
return 0;
}
srand((unsigned)time( NULL ));
m = 10;
for (i=0; i