辛苦了好几天终于把随机函数搞懂了,现在我编的的一个代码能产生任意几个不相同的随机数,代码如下:
/* 一般是现设置种子,再调用rand()产生随机数。下面是真正产生随机数的通常做法: */
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define TIMES 100
#define SIGN 2
#define X 0
#define Y 50
main()
{
int i,vel[SIGN],m,t;
int n = 0;
srand((unsigned)time(NULL));
for(i = 0;i < TIMES && n <= SIGN; i++)
{
t = rand()%(Y-X+1) + X;
m=n;
while(--m >= 0) {
if(t != vel[m])
;
else
break;
} /* 让随机函数产生不相同的值 */
if(m >= 0)
continue;
vel[n] = t;
/* 在数组中保存不相同的值 */
printf("%d ",vel[n]);
n++;
}
printf("/n");
return 0;
}
该程序能产生0—50之间的任意三个随机数,当然可以通过修改SIGN,X,Y来产生不同的值!
这个函数写到现在,我也很惭愧,这么短的一个程序写了好几天,没有抽出一个完整的 时间段来写。我想写程序,可总是有一些借口来为自己开脱,唉,有时我就不知道该怎么办了。现在还先这样吧!想改变,还需要一段时间!
如果谁有更好的想法,请告诉我,我先谢了!