zoukankan      html  css  js  c++  java
  • C语言 随机数

    C语言 随机数

    time、rand、srand

    #include <time.h>
    time_t time(time_t *t);

    功能:获取当前系统时间

    参数:常设置为NULL

    返回值:当前系统时间, time_t 相当于long类型,单位为毫秒


    #include <stdlib.h>
    void srand(unsigned int seed);

    功能:用来设置rand()产生随机数时的随机种子

    参数:如果每次seed相等,rand()产生随机数相等

    返回值:无


    #include <stdlib.h>
    int rand(void);

    功能:返回一个随机数值

    参数:无

    返回值:随机数

    案例

    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    
    int main()
    {
        time_t tm = time(NULL);//得到系统时间
        srand((unsigned int)tm);//随机种子只需要设置一次即可
    
        int r = rand();
        printf("r = %d
    ", r);
    
        return 0;
    }
    使用案例
    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <math.h>
    #include <time.h>
    
    int main(void)
    {
        // 添加随机数种子
        srand((size_t)time(NULL));
        for (size_t i = 0; i < 100; i++)
        {
            // 输出一个随机数
            // 获取0-99:rand()%100
            // 获取50-100:rand()%51+50
            printf("%d
    ", rand()%100);
        }
        return 0;
    }
    使用案例:输出随机数
    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <math.h>
    #include <time.h>
    
    int main(void)
    {
        // 双色球 6个红球 1-32、1个蓝球 1-16
        srand((size_t)time(NULL));
        int arr[6] = { 0 };
        int value = 0;
        int flag = 0;
        int j;
        // 取红球
        for (int i = 0; i < 6; i++)
        {
            value = rand() % 32 + 1;
            // 去重
            for (j = 0; j < flag; j++)
            {
                if (value==arr[j])
                {
                    i--;
                    break;
                }
            }
            // 加入数组
            if (j==flag)
            {
                arr[flag] = value;
                flag++;
            }
        }
        // 输出结果
        for (int i = 0; i < 6; i++)
        {
            printf("%d ", arr[i]);
        }
        // 取蓝球
        printf("+ %d
    ", rand() % 16 + 1);
        return 0;
    }
    使用案例:双色球
  • 相关阅读:
    C语言I博客作业02
    第一次作业
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
    课程目标
    具体方面
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/12373922.html
Copyright © 2011-2022 走看看