C语言生成随机数问题
C语言生成随机数问题
- rand函数
- srand函数
- 时间戳和time()函数
- 最终代码:
rand函数
rand - C++ Reference (cplusplus.com)
rand()
函数是专门用来生成随机数的rand()
返回的是0~RAND_MAX(32767)之间的随机数rand()
函数在头文件stdlib.h
中,使用前要导入这个头文件- 因为
rand
默认生成随机数范围是0~32767,这是一段很大的范围,所以我们需要限制随机数范围:rand()%100+1
范围:1~ 100 因为任何一个数字,模100,得到结果的范围是0~99,在加1,范围就是1 ~ 100
int num = rand()%100+1;
printf("%d", num);
- 此时rand的确生成了随机数,但是每次生成的随机数都是固定值,所以我们要在
rand()
前使用一个srand
函数,来设置随机数生成器
srand函数
srand - C++ Reference (cplusplus.com)
srand
函数的定义(官方):
void srand (unsigned int seed);
srand
函数也在头文件stdlib.h
中srand
的使用
srand(1);
int num = rand();
printf("%d", num);
在srand中传不同的值,rand会生成不同的值
所以我们为了得到不同的随机值,我们要给
srand()
传一个时刻变化的值——时间
时间戳和time()函数
- 定义:时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
- 在C语言中,
time()
会返回时间戳 time - C++ Reference (cplusplus.com) time()
的定义(官方):
time_t time (time_t* timer);
time()
函数在time.h
的头文件里,使用前要导入这个头文件time()
函数的使用:
srand(time(NULL));
int num = rand();
printf("%d", num);
//这时,每次都会生成不同的随机数
- 但是这里会发现,每次生成的随机数都很相近,所以如果有循环生成随机数的要求,srand在程序中只需调用一次即可,不用重复调用,即把
srand
语句放到主函数里,生成随机数部分放到函数中
最终代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void test()
{int num = rand()%100+1;printf("%d\n", num);
}
int main()
{int n = 0;srand(time(NULL));printf("输入要生成随机数的个数:");scanf("%d", &n);for (int i = 0; i < n; i++){test();}
}
结果:
C语言生成随机数问题相关推荐
- 随机数生成器c语言,句子随机生成器-怎么用C语言生成随机数
为随机数生成器初始化一个种子值在易语言中使用什么命令名 置随机数种子 () '调用格式: 〈无返回值〉 置随机数种子 ([整数型 欲置入的种子数值]) - 系统核心支持库->算术运算 英文名称: ...
- C语言生成随机数和随机数组
C语言生成随机数和随机数组 time函数要包含头文件<time.h> rand函数要包含头文件<stdlib.h> 随机数 int a; srand((unsigned)tim ...
- c语言rand函数生成随机数,详解C语言生成随机数rand函数的用法
说到rand函数,大家是不是会和EXCEL中的rand函数混淆,当小编第一次接触的时候也以为是EXCEL的函数,本文是爱站技术频道小编为大家带来的详解C语言生成随机数rand函数的用法,一起来看看吧! ...
- R语言生成随机数与统计分布函数
R语言生成随机数与统计分布函数 常见的分布函数有正态分布.二项分布.F分布.几何分布等等,在R语言中可以使用help("Distrinction")命令来查看所有分布的列表 随机数 ...
- c语言生成随机数(c语言生成随机数并排序)
vc环境下c语言怎么生成随机数能给个0-100之间的程序最好了- r = ( (double)rand() / ((double)(RAND_MAX) (double)(1)) ); 请问如何用C语言 ...
- c语言随机数生成0 99函数,C语言生成随机数的函数、延时函数
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面C语言代码使用了生成随机数的函数.延时函数.请大家仔细观察其显示效果. 从以下代码,我们可以得出一个重要的结论:当上述两类函数被放入循环时,应作出一定 ...
- c语言随机数循环延迟,C语言生成随机数的函数、延时函数
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面C语言代码使用了生成随机数的函数.延时函数.请大家仔细观察其显示效果. 从以下代码,我们可以得出一个重要的结论:当上述两类函数被放入循环时,应作出一定 ...
- c语言生成随机数猜数字大小,产生一个随机数,进行猜数字小游戏
产生随机数 Random:用于产生随机数 使用步骤: 1.导包 import java.util.Random; 2.创建对象 Random r = new Random(); 3.获取随机数 int ...
- C语言生成随机数的函数,为什么循环后随机数都一样?
代码如下: #include <stdio.h> #include <time.h> int main(int argc, char **argv) {int a ,b;cha ...
最新文章
- 解决0X000000该内存不能为read 的方法
- android关于设置list_item高度问题
- Python 中名词
- 线程锁定CPU linux,linux 线程与CPU绑定
- android 应用性能优化1
- 网络安全管理的“模拟人生”
- 清风老师数学建模课程——第一讲层次分析法
- ubantu 搭建我的世界java服务器 spigot核心
- 2019世界计算机语言排行,TIOBE:2019年12月全球编程语言排行榜
- Spring Boot 2.0 配置图文教程 1
- uint8_t / uint16_t / uint32_t /uint64_t 数据类型集中网上的解释
- 计算机采用的编码机制是什么,编码机制
- 8、iOS strip 与 dead strip
- 用maven驱动搜索dom4j异常,原因分析
- 数字签名与数字信封流程
- vim /etc/hostname1输入命令后进入到以下界面。
- 【第一届“文翁杯”现场竞技赛】T2 —蜀石经(优先队列模拟)
- 六大服务器和网络监控工具
- 华为HCIE-RS(数通datacom)论述题(十)
- Drony配合Charles实现App定向抓包
热门文章
- 实习周记1(sdk了解、fiddler抓包、反编译工具)
- python分别统计男女人数_python实现爬虫统计学校BBS男女比例(一),python男女比例...
- 怎样检查一张 SIMATIC 存储卡(SMC)有非一致性或者是格式错误?如何修复?
- c代码实现 ifft运算_2D-FFT及IFFT(C语言实现(转载)
- SSM集成umeditor详解
- html固定内容的文本框,文本域文字内容指定选中 张鑫旭-鑫空间-鑫生活
- 哪些特征使顶级的收益聚合与众不同?
- LeetCode刷题(154)~二进制链表转整数
- 圣斗士星矢ol外国服务器网站,国外粉丝狂热支持《圣斗士星矢ol》
- python 使用you-get批量下载视频