http://blog.tianya.cn/blogger/post_show.asp?idWriter=0&Key=0&BlogID=382219&PostID=4547421

以上网有详细的说明

/*已经上机通过测试:*/

#include

main()

{

int a[100],i; /*定义数组存放100个数*/

for(i=0;i<100;i++)

a[i]=random(100); /*产生100以内的数*/

for(i=0;i<100;i++)

printf("%d ",a[i]); /*打印输入*/

getch();

}

在C语言函数库中包含了一个产生随机数的函数:

int rand( void );

在函数库中对这个函数的说明是:

The rand function returns a pseudorandom integer in the range

0 to RAND_MAX. Use the srand function to seed the pseudorandom

-number generator before calling rand.

而在C语言函数库中是这样定义RAND_MAX的:

/* Maximum value returned by "rand" function

*/

#define RAND_MAX 0x7FFF

所以,函数int rand( void );返回的是一个界于0~32767(0x7FFF)之

间的伪随机数,包括0和32767。注意,这里产生的是伪随机数,不是真正意

义上的随机数,看下面的程序:

#include "stdlib.h"

#include "stdio.h"

void main( void )

{

/* Display a number. */

printf( " %6d\n", rand() );

getchar();

}

程序运行的结果是:

346

多次运行这个程序,发现每次产生的结果都是346(不同的机器可能产生

的结果不一样),这就是所谓的伪随机数。伪随机数是通过一个公式来运算

出来的,所以,每次产生的伪随机数都一样。那么,如何才能产生真正意义

上的随机数呢?这就有一个随机种子的问题。在C语言标准函数库中,有这

么一个函数:

void srand( unsigned int seed );

在《The c programming language》中对这个函数是这样描述的:

srand uses seed(函数变量声明中的seed) as the seed(随机函数中种子

的意思) for a new sequence of pseudo-random numbers. The

initial seed is 1.

所以,要产生真正意义上的随机数,那么就要求每次提供的种子不一样,一

般情况下,都设置时间为随机函数的种子。看下面的一段程序:

/* RAND.C: This program seeds the random-number generator

* with the time, then displays 10 random integers.

*/

#include "stdlib.h"

#include "stdio.h"

#include "time.h"

void main( void )

{

int i;

/* Seed the random-number generator with current time so that

the numbers will be different every time we run.

将当前时间设置成随机函数的种子,所以每次产生的数都不一样

*/

srand( (unsigned)time( NULL ) );

/* Display 10 numbers. */

for( i = 0; i < 10;i++ )

printf( “ %6d\n”, rand() );

}

Output

6929

8026

21987

30734

20587

6699

22034

25051

7988

10104

每次运行这个程序,产生的随机数都不一样,这样就达到了随机数的要求了

自动生成100个数据 c语言,用C语言随机函数生成100个不大于100的数的具体算法怎么写?...相关推荐

  1. Spring+SpringMVC+Mybatis(开发必备技能)04、mybatis自动生成mapper_dao_model(包含工具与视频讲解) 纯绿色版本、配套使用视频,100%运行成功

    Spring+SpringMVC+Mybatis(开发必备技能) 04.mybatis自动生成mapper_dao_model(包含工具与视频讲解) 纯绿色版本.配套使用视频,100%运行成功 百度网 ...

  2. mysql存储过程自动生成周次数据

    mysql存储过程自动生成周次数据 1.目的 因项目特殊要求,需按周生成对应批次数据,如周次跨月需要生成两条数据:生成的对应字段如下: 2.步骤: 2.1.创建数据库表 在这里插入代码片 ```CRE ...

  3. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 NN 个 1 到 1000 之间的随机整数(N \leq 100N≤100),对于其中重复的数字,只保留一个,把其余相

    自己用了非常朴素的方法将本题解了出来. 三个for循环和两个sort,哈哈哈,xswl. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 NN 个 1 到 1000 ...

  4. MySQL利用存储过程自动生成千万条数据

    文章目录 ​前言 ​一.实现思路 ​二.实现步骤 ​1.创建数据库 ​2.创建存储表和内存表 ​3.创建所需函数 ​4.创建存储过程 ​5.调用存储过程插入数据 ​6.统计数据库 ​ 拓展 ​总结 前 ...

  5. jeesite如何已生成数据的数据源_如何在postman中自动生成接口请求数据,这个功能你需要知道,可结合浏览器和两大抓包工具使用...

    在做接口调试或测试时,请求中的每个参数都要按照接口文档填写到postman的对应位置中,很是麻烦.那是否有这样一个功能?可以帮我们自动生成接口数据,无需修改,直接发送请求就可以呢. 这里面我们需要借助 ...

  6. 深度学习项目一: keras实现歌词的自动生成 (含数据和所需源码)

    数据集下载:点我下载数据集 我们实现的是歌词的自动生成. 主要看我在代码中的注释..注释的很详细,不懂可以留言. 1:我们加载所需要的模块,这里的模块都是比较常用的模块 from keras.mode ...

  7. idea序列化自动生成_serialVersionUID在数据序列化中重要性

    作用 用于判断序列化文件是否已经失效(过期). 序列化的时候会把这个ID写到文件里. 读的时候会把这个ID和代码里的ID比较,如果不一致,表示文件里的已经失效.(will result in an I ...

  8. c语言哪个编译软件能够将整个工程自动生成调用图_这10个C语言技巧让初学者少走180天弯路!...

    硬件设计师最常见的工作内容是通过写代码来测试硬件.这10个C语言技巧(C语言仍然是常见的选择)可以帮助设计师避免因基础性错误而导致某些缺陷的产生并造成维护方面的困扰. 技巧 1:不要使用"G ...

  9. python3根据excel表数据自动生成word格式数据报告

    目录 1. 完成xlsx数据读取 2.对数据做一些处理 3.生成图表 4.创建word文件 5.将分析结果保存入word文件中 本文主要是讲如何根据简单的xlsx数据,生成word数据报告,首先需要先 ...

最新文章

  1. LeetCode简单题之长按键入
  2. cent卸载mysql_centos 7.x 安装/卸载MySQL
  3. java 关键字final static
  4. OPPO R9s在哪里开启Usb调试模式的完美步骤
  5. Hibernate 异常 Unable to instantiate default tuplizer
  6. Leetcode 137. Single Number II JAVA语言
  7. 《算法竞赛入门经典》 习题4-1(象棋 Xiangqi ACM ICPC Fuzhou 2011,UVa1589)——仅提供大体方法
  8. 注解 @EnableFeignClients 工作原理
  9. mysql 学习笔记08 日期相关函数2
  10. QT输入输出(四)之 QProcess
  11. SSM-物流管理常见问题4 前端向后端传递数据
  12. Ubuntu 10不能通过改source.list装JDK 1.6
  13. KEIL, MDK 关于C99结构体变量初始化
  14. Reset Password Windows Server 2008 r2
  15. Maven学习五之Nexus中各repository介绍
  16. 各行业赫芬达尔指数表(2013-2018年)
  17. python的opencv操作记录(七)——短时傅里叶变换(stft)
  18. java端口扫描器 demo_端口扫描器的设计与实现(java)
  19. 小记:父子工程项目打包报错-程序包com.XXX.XXX不存在
  20. Java设计模式学习笔记

热门文章

  1. Skimage包的安装及使用时报错ImportError: cannot import name ‘compare_psnr’ from ‘skimage.measure’
  2. 如何养育不哭闹的小孩--分享在美国养孩子的妈妈经验
  3. 零售行业陈列管理系统
  4. 【贪心】中山纪念中学暑期游Day12——少女觉
  5. AJAX和XHR和Axios和Fetch
  6. 2022.02.21_HTML+CSS学习总结_HTML基础
  7. 读论文——RoBERTa
  8. 使用CANVAS实现交互性圆形马赛克效果
  9. 超详细的RabbitMQ入门
  10. 【Python】Conda 安装 | GYM-Box2D CarRacing 环境准备