关于随机函数的问题
如何产生随机数但是不重复呢?作为一个子函数要调用,要能返回随机数。
int intest()
{
srand( (unsigned)time(NULL) );
return (rand() %num);
}
这个老有重复的,求指教。


程序代码:#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#define num 100
int intest()
{
return (rand() %num);
}
int main(){
srand( (unsigned)time(NULL) );
for(int i=100;--i;printf("%d\n",intest()));
return 0;
}

程序代码:/*
函数功能:产生无重复随即数
int a[] 保存随即数数组
int num 数组大小
int max 随机数上限
int min 随即数下线
马甲:萝卜头
QQ:32493835
*/
void norand(int a[],int num,int max,int mim)
{
int i,j,temp;
randomize();
a[0]=rand()%(max+1-mim)+mim;
for(i=1;i<num;)
{
temp = rand()%(max+1-mim)+mim;
for(j=0;j<i;j++)
{
if(temp==a[j])
break;
}
if(j>=i)
{
a[i]=temp;
i++;
}
}
}