zoukankan      html  css  js  c++  java
  • 猜数字游戏及rand()函数、srand()

    #include<stdio.h>
    #include<stdlib.h>
    int main()

    {
    short number;
    short guess=0;
    number=rand()%100;
    number++;
    printf("猜数字游戏 ");
    printf("该数字在1到100之间 ");
    while(guess!=number)
    {
    printf("请你输入所猜数字:");
    scanf("%hd",&guess);
    if(guess<number)
    {
    printf("小了 ");
    }
    if(guess>number)
    {
    printf("大了 ");
    }
    }
    printf("你猜对了数字 ");
    }

    rand函数功能为获取一个伪随机数(伪随机数的概念下面会有介绍)。

    一、函数名: 

    rand();

    二、声明:

    int rand();

    三、所在头文件:

    stdlib.h

    四、功能:

    返回一个伪随机数。之所以说是伪随机数,是因为在没有其它操作下,每次执行同一个程序,调用rand得到的随机数序列是固定的(不是真正的“随机”)。

    五、为了使rand的结果更“真”一些,也就是令其返回值更具有随机性(不确定性),C语言在stdlib.h中还提供了srand函数,通过该函数可以设置一个随机数种子,一般用当前时间的毫秒数来做参数。通过time(NULL)可以获取到当前时间的毫秒值(该函数位于time.h)中。

    六、使用rand的流程可以总结为:

    1 调用srand(time(NULL))设置随机数种子。

    2 调用rand函数获取一个或一系列随机数。

    需要注意的是,srand只需要在所有rand调用前,被调用一次即可,没必要调用多次

    如果希望rand()在每次程序运行时产生的值都不一样,必须给srand(seed)中的seed一个变值,这个变值必须在每次程序运行时都不一样(比如到目前为止流逝的时间);否则,如果给seed指定的是一个定值,那么每次程序运行时rand()产生的值都会一样…… 

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()

    {
    short number;
    short guess=0;
    srand((unsigned)time(NULL));//随机数
    number=rand()%100;
    number++;
    printf("猜数字游戏 ");
    printf("该数字在1到100之间 ");
    while(guess!=number)
    {
    printf("请你输入所猜数字:");
    scanf("%hd",&guess);
    if(guess<number)
    {
    printf("小了 ");
    }
    if(guess>number)
    {
    printf("大了 ");
    }
    }
    printf("你猜对了数字 ");
    }

  • 相关阅读:
    [JSOI2012][bzoj4332] 分零食 [FFT]
    [MUTC2013][bzoj3513] idiots [FFT]
    [bzoj4259][bzoj4503] 残缺的字符串 [FFT]
    [bzoj3160] 万径人踪灭 [FFT+manacher]
    [AHOI2017/HNOI2017][bzoj4827] 礼物 [FFT]
    [ZJOI2014][bzoj3527]力 [FFT]
    [CQOI2012][bzoj2668] 交换棋子 [费用流]
    [CQOI2014][bzoj3504] 危桥 [最大流]
    [ZJOI2011][bzoj2229] 最小割 [最小割树]
    移动游戏ui设计(一)
  • 原文地址:https://www.cnblogs.com/flywolf601/p/5914601.html
Copyright © 2011-2022 走看看