算法程序中的随机抽奖的"随机"程序是什么原理

算法程序中的随机抽奖的"随机"程序是什么原理,第1张

和你说的差不多。

为真执行i=i-1否则执行 a(b(i)) = 1

揣摩他的意思,a(33)应该是红球6个数都有哪些,可是他在生成蓝球的时候,根本也没对红球判断。

-----------------------------------------

当 b(i)有重复的时候,a(b(i))为真

不是永远为假

----------------------------------------

For i = 1 To 6 '循环6次

b(i) = Int(Rnd 33 + 1)'产生一个1-33的随即数

If a(b(i)) Then i = i - 1 Else a(b(i)) = 1

'如果a(b(i))为真代表有重复,i-- 退回重新产生一个随机数。如果a(b(i))为假,设置a(b(i))为真,就是给以后判断是不是已经产生过。

Next

不可能随机产生单词!!

只能随机产生字母

char s(void)

{

if(rand()%2)

return rand()%26+'a';

else

return rand()%26+'A';

}

想产生几个字母就调用几次

两位数:也就是10~99了

这里可以用生成随机数取余的方法得到,

比如任何整数除以100取余,那得到的是0~99的数,

那怎么得到10~99呢?

任何整数除以90取余,那得到的是0~89的数,再加上10,也就是得到10~99的数了

#include <stdlibh>

#include <stdioh>

#include <timeh>

void main( void )

{

int i,k;

srand( (unsigned)time( NULL ) );

for( i = 0; i < 10;i++ )

{

k=rand()%90+10; //这就OK了

printf( " k=%d\n", k );

}

}

以上就是关于算法程序中的随机抽奖的"随机"程序是什么原理全部的内容,包括:算法程序中的随机抽奖的"随机"程序是什么原理、C语言程序如何随机产生一个单词呢、C语言写一个两位的随机数程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9279373.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存