码迷,mamicode.com
首页 > 其他好文 > 详细

关于随机数的生成

时间:2015-11-30 00:50:51      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

八月最近在做有关迷宫(maze)的实验,要求按照用户输入的维数自动生成迷宫╮(╯▽╰)╭,所以需要用到随机数。

在C,C#中,生成随机数最方便的方法,就是使用rand()函数<( ̄︶ ̄)/

举个栗子:

#include <iostream>

int main()
{
    int i;

    for (i = 0; i < 10; i++)
    {
        printf( "%d\n", rand());
    }

    return 0;
}

 

这样就能打印出10个随机数了(?•??•?)??

 

然而再试了一次,发现第二次打印出来的随机数跟第一次居然是一模一样的( ̄口 ̄)!!

于是乎,还需要在此基础上,多调用一个函数,srand

如下:

#include <iostream>
#include <time.h>

int main()
{
    int i;
    srand((unsigned)time(NULL));

    for (i = 0; i < 10; i++)
    {
        printf( "%d\n", rand());
    }

    return 0;
}

这样每次打印出来的10个随机数都不一样啦<( ̄︶ ̄)>

 

另外,如果想取多少内的随机数,比如100以内的随机数哇,4以内的随机数哇(八月做迷宫的时候就用到了这个<( ̄︶ ̄)/,随机生成4个方向)

只需要在rand()的后面追加上“%n”,n即代表取多少以内的随机数。(其实就是在之前的基础上取个余数啦_(:з」∠)_ )

再举个栗子:

#include <iostream>
#include <time.h>

int main()
{
    int i;
    srand((unsigned)time(NULL));

    for (i = 0; i < 10; i++)
    {
        printf( "%d\n", rand()%10);
    }

    return 0;
}

 

这样就能取到10个10以内的随机数了(?•??•?)??

 

关于随机数的生成

标签:

原文地址:http://www.cnblogs.com/bayuedeboke/p/5005967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!