我现在做一个模仿文曲星上的一个“猜数字”的小游戏,其中有一步要生成4个不同的随机数,我想到两种方法:
1:while(1)
{
a=rand(10);//生成四个随机的个位数。
b=rand(10);
c=rand(10);
d=rand(10);
if(a==b||a==c||a==d||b==c||b==d||c=d) continue;
else exit;
}
2:
while(1)
{
a=rand(10);
if((b=rand(10)==a)) continue;
else
if(c=rand(10)==a||c==b) continue;
else
if(d=rand(10)==a||d==b||d==c) continue;
exit;}
**我这段时间用的是VFP,C可能写得有差错,不过,意思错不了**
各位看一下这两个方法那个效率高一点,是不是和随机数的生成函数有关!
1:while(1)
{
a=rand(10);//生成四个随机的个位数。
b=rand(10);
c=rand(10);
d=rand(10);
if(a==b||a==c||a==d||b==c||b==d||c=d) continue;
else exit;
}
2:
while(1)
{
a=rand(10);
if((b=rand(10)==a)) continue;
else
if(c=rand(10)==a||c==b) continue;
else
if(d=rand(10)==a||d==b||d==c) continue;
exit;}
**我这段时间用的是VFP,C可能写得有差错,不过,意思错不了**
各位看一下这两个方法那个效率高一点,是不是和随机数的生成函数有关!
do
{
b = rand(10);
}while (b == a);
do
{
c = rand(10);
}while (c == a || c == b);
do
{
d = rand(10);
}while (d == a || d == b || d == c);不过怀疑rand的使用……如果在一段时间内总是返回相同的一个数怎么办呢?