C语言中如何生成1~100的随机数(附代码)

C语言中如何生成1~100的随机数(附代码)

C语言中是如何生成1~100的随机数的呢?想必大家都想了解一下吧,那么话不多说,跟着小编一起了解一下吧。

C语言如何生成随机数

生成10个1~100的随机数

废话不多说直接上程序。

立即学习“C语言免费学习笔记(深入)”;

#include#include#include int main(){int ret = 0;srand((unsigned int)time(NULL));for(int i=0; i<10; i++){ret = rand()%100;printf("%d ",ret);}return 0;}

登录后复制

9d953855b8154ea3aa80ed2831af377.png

这个程序是用来生成10个随机的数。接下来会详细说一说这个程序的构成。

随机数生成代码的分析

以上程序的关键代码是:

 srand = ((unsigned)time(NULL)); ret = rand()%100;

登录后复制

rand()函数所需头文件是

#include

登录后复制登录后复制

rand()是生成伪随机数的函数,它会按照一定的序列来生成随机数,但是它序列是固定的:

3337fe67fbe2c691406644faad28024.png

程序每次执行它都将按照这个序列来给出随机数,所以在对rand()不加限制条件的话,生成的随机数不够随机。

time()函数所需要头的头文件是:

#include

登录后复制

time()函数,值得注意的是time函数的形参,这个形参是个指针变量,通常写为time(NULL)。
 这个函数的功能是,返回自1970年1月1日00:00:00到你先在电脑运行的时间(例:2018年3月24日14:14:00)之间的时间。这个数是随机的,随着你电脑运行时间而发生改变。

srand()函数所需要的头文件是:

#include

登录后复制登录后复制

srand()函数是伪随机数发生器种子,它给rand()函数一个产生一个起点。在单独使用rand()函数的时候,它将1作为默认参数。srand()的形参是一个无符号的类型,即unsigned类型,可以是int,float,char等等。
但在这里为了达到随机数效果,将使用time()函数来产生一个起点,它直接作用于rand()函数。

注意:

   ret = rand()%100;

登录后复制

rand()%100是为了产生100以内的随机数。

有趣的小程序

这是一个电脑自己猜数字的小程序。

#include#include#include#include#includeint main(){    int ret = 0;    int guess = 0;    int left = 0;    int right = 100;    srand((unsigned int)time(NULL));    ret = rand() % 100;    printf("提供的答案数是->%d",ret);    guess = 50;    while (1)    {        if (guess > ret)        {            printf("猜大了->%d", guess);            right = guess;            guess = (right + left) / 2;            Sleep(1000);        }        else if (guess %d", guess);            left = guess;            guess = (right + left) / 2;            Sleep(1000);        }        if (guess == ret)        {            printf("猜到了是%d", guess);            break;        }    }    system("pause ");    return 0;}

登录后复制

这里写图片描述

这里使用了二分法的思想,让电脑自己去猜100以内的一个数。
使用了Sleep()函数用来延迟一下打印时间,Sleep()函数的参数的单位是ms,所以1000ms=1s。

谢谢您的阅读

本文转自:https://blog.csdn.net/H_Strong/article/details/79678269

推荐教程:《C语言》

以上就是C语言中如何生成1~100的随机数(附代码)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2492548.html

(0)
上一篇 2025年3月5日 01:12:25
下一篇 2025年2月19日 01:48:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • C语言中数据int的取值范围为多少?

    C++中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]。int型数据是一个有符号的整型数据,其最高位为符号位(0表示正,1表示负)。 C++中,int占用4字节,32比特,数…

    2025年3月5日
    200
  • c语言整除符号是什么?

    C语言中整除符号是“/”符号。整除运算符(/)需要注意的是运算结果会自动转换为与被除数一致的数据类型。 C语言中整除是 / 符号,%符号是取余运算符。 整除运算符( / )需要注意的就是运算结果会自动转换为与被除数一致的数据类型。 举例说明…

    2025年3月5日
    200
  • c语言中将一个字符串转换到整型数据类型的函数是什么?

    函数是:atoi(),其声明为“int atoi(char *str);”。atoi函数的功能是将字符串转为整型并返回;atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。 在C语言中将字符串转化成整型有…

    2025年3月5日
    200
  • C语言有几种注释方式

    C语言有两种注释方式,一种是以/*开始,以*/结束的块注释;另一种是以//开始,以换行符结束的单行注释。具体使用方法如:【const double pi = 3.1415926536;  // pi是—个常量】。 在编写c语言源代码时,应该…

    2025年3月5日
    200
  • c语言中 是什么意思

    C语言的【】代表的意思是水平制表符,相当于按了键盘上的TAB按键,通常宽度相当于8个空格的位置,但有些软件允许设置tab的宽度,在双引号或定界符表示的字符串中有效,在单引号表示的字符串中无效。 C语言的【】代表的意思是水平制表符,相当于按了…

    2025年3月5日
    200
  • typedef在c语言中是什么意思

    typedef为C语言的关键字,作用是为一种数据类型定义一个新名字,这里的数据类型包括内部数据类型【int,char等】和自定义的数据类型【stuct等】。 typedef是C/C++常用语法,typedef作用,归结起来,可以分为四种: …

    2025年3月5日
    200
  • c语言中double是什么意思

    c语言中double的意思是将一个变量定义为双精度实型变量,也就是说赋给变量的值将以双精度实型格式存储在内存中。 double是C语言的一个关键字,bai代表双du精度浮点型。 占8 个字节(64位)内存空间zhi。其数dao值范围为1.7…

    2025年3月5日
    200
  • c语言绝对值怎么表示

    在C语言中,绝对值可以使用库函数fabs或者abs来表示,fabs表示对double型数据取绝对值,abs表示对int型数据取绝对值。 在C语言中,绝对值可以用库函数fabs或abs来表示。 fabs表示对double型数据取绝对值。 ab…

    2025年3月5日
    200
  • c语言文件读写函数有哪些?

    c语言文件读写函数有:“fgetc”和“fputc”(字符读写函数)、“fgets”和“fputs”(字符串读写函数)、“freed”和“fwrite”(数据块读写函数)、“fscanf”和“fprinf”(格式化读写函数)。 对文件的读和…

    2025年3月5日
    200
  • 带你了解C语言中的Sleep函数(附代码)

    Sleep函数: 功 能: 执行挂起一段时间   用 法: unsigned sleep(unsigned seconds);   登录后复制 注意:   立即学习“C语言免费学习笔记(深入)”; 在VC中使用带上头文件#include ,…

    2025年3月5日
    200

发表回复

登录后才能评论