作者sb0917 (QQ)
看板NTUBIME101HW
标题[C++] 自订函式雏形+乱数使用
时间Sun Nov 2 12:07:13 2008
#include <iostream>
#include <ctime>//引入这个函式库才能用乱数
using namespace std;
int loto_number( 这里该丢什麽进去给他呢? );//函式的宣告
int main()
{
srand(time(NULL))
//乱数种子,简单说就是这样乱数才会一直产生不同的值
........
}
int loto_number( ??????? )//至於为什麽函式要宣告成int,因为题目要求
{
.....
... rand()%42 + 1;//取乱数
.....
}
--------
取乱数的方法
除了要include <ctime>以外
还要给乱数一个种子,不然他永远会是同一个乱数值
至於使用的方法就是用
rand()
这个意思是随机产生一个乱数值
倘若我想产生1~10之中随便一个数
那我只要
number = rand()%10 + 1
rand()%10之後会是0~9某个数字 所以加上1以後就是1~10随便一个数字
所以我想随机取1~42中的某个号码,就只要把10换成42就好
这个用法其实没什麽特别的原因,用久了就习惯了
还有这次程式有个要注意的地方
他是说
一次传回一个值
所以意思就是要做七次,至於如何判断数字有没有重复
或许跟要传给loto_number()的资料有关罗
大家加油!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.232.111.179
1F:推 vincent79715:红色部分是你的疑问吗? 那里空白就可以了 11/02 12:18
2F:→ sb0917:不是疑问,那里可以丢东西,会变好写很多 11/02 12:18
3F:→ sb0917:譬如说...检查有没有重复.... 11/02 12:19
4F:推 vincent79715:恩~ 11/02 12:35
5F:→ ck940560:下面说明文的<ctime>打错了 11/02 16:36
6F:→ ck940560:另外用42+1的话会跑0~43 能直接让它不出现0吗? 11/02 16:37
7F:→ sb0917:不会跑出43阿...%42怎麽可能跑出42.... 11/02 16:51
※ 编辑: sb0917 来自: 125.232.111.179 (11/02 16:51)
8F:→ sb0917:应该是哪里打错了吧@@ 11/02 16:52
9F:→ ck940560:好了这下换我打错@@ 有办法42+1只输出1~42吗? 11/02 18:37
10F:→ sb0917:rand()%42→0~41 rand()%42+1→1~42 11/02 18:39
11F:→ ck940560:所以後面那个+1是真的有别的用途 不是单纯43罗! 11/02 20:36
12F:→ ck940560:我还以为你只是要强调有包括0所以要多1 11/02 20:37
13F:→ sb0917:Q_____Q第一题写不出来 11/02 21:00
14F:→ ck940560:____Q不要打击我信心 11/02 21:19
15F:推 vincent79715:那是因为你想超过第八个 当然很难想... 11/02 22:01