C语言 您所在的位置:网站首页 怎么生成随机数并赋值给数组的方法 C语言

C语言

2024-01-04 06:13| 来源: 网络整理| 查看: 265

文章目录 前言一、效果二、说明[1]. 先使用srand()函数设置随机数种子[2]. 生成范围从A~(A+B-1)范围的随机数 三、示例代码[1]. C实现[2]. C++实现

前言

此篇文章主要的目的是记录一下随机数的常用生成方法,每次我一没回去复习随机数之后就容易将知识点遗忘掉。 随机数的生成有好几种的方法,此处仅介绍其中一种我认为较方便的方法——[a,b]范围的随机数生成。

一、效果

在这里插入图片描述

二、说明 [1]. 先使用srand()函数设置随机数种子

srand((int)time(NULL));

[2]. 生成范围从A~(A+B-1)范围的随机数

rand()%B+A;

你可以将rand()%B+A赋值给某个变量,则该变量就被赋值了一个随机的值,或者是在打印函数中调用输出即可。

三、示例代码

代码中的srand()和rand()函数的使用为重点,C和C++ 代码已包含有必要的注释,请仔细阅读注释。

[1]. C实现 /* 代码作者:小狐狸 代码介绍: 若没有设置随机数的种子,重新生成的随机数将和上一次输出的随机数相同 生成从a~(a+b-1)的随机数赋值给Y: 1. srand((int)time(NULL)) 2. Y=rand()%b+a; */ #include #include //srand()、rand()所需 #include //time()所需 int main() { srand((int)time(NULL));//设置随机数种子 while(1) { int fox; printf("------------------\n"); printf("| 按0结束 |\n"); printf("| 按1键继续 |\n"); printf("------------------\n"); scanf("%d",&fox); if(fox==0) break; int start,last; int x; printf("起始数 截止数:\n"); scanf("%d%d",&start,&x); //起始值即为start,但是截止的值并不是rand()%b+a中b的值. //因为rand()%b+a中产生随机数的范围是从a到a+b-1 //所以要生成从start到x的随机数的话 //需要满足start=a,同时x=a+b-1,由此可以算出rand()后的b last=x-start+1;//计算出rand()%b+a中b的值 if(start srand((int)time(NULL));//设置随机数种子 while(1) { int fox; cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有