• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搜讯息吧

C语言中如何生成1~100的随机数(附代码)_C#.Net教程,c语言,随机数

NET ytg3114 3个月前 (06-29) 148次浏览 0个评论 扫描二维码

C语言中数据int的取值范围为多少?_C#.Net教程

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

C语言中如何生成1~100的随机数(附代码)_C#.Net教程,c语言,随机数

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

C语言如何生成随机数

生成10个1~100的随机数

废话不多说直接上程序。

#include<stdio.h>#include<stdlib.h>#include<time.h> 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;
}

C语言中如何生成1~100的随机数(附代码)_C#.Net教程,c语言,随机数

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

随机数生成代码的分析

以上程序的关键代码是:

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

rand()函数所需头文件是

#include<stdlib.h>

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

C语言中如何生成1~100的随机数(附代码)_C#.Net教程,c语言,随机数

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

c语言中pow函数的用法是什么?_C#.Net教程

在c语言中pow()函数是用来求x的y次幂。x、y及函数值都是double型 ,其语法为“double pow(double x, double y)”;其中参数“double x”表示底数;参数“double y”表示指数。

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

#include<time.h>

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

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

#include<stdlib.h>

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

注意:

   ret = rand()%100;

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

有趣的小程序

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

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

C语言中如何生成1~100的随机数(附代码)_C#.Net教程,c语言,随机数

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

谢谢您的阅读

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

推荐教程:《C语言》

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

c语言中if(x)是什么意思?_C#.Net教程

c语言中if(x)表示的是:如果x的值为非0(即为真),就执行循环体;如果x的值为0(即为假),就不执行循环体。同理,如果x==0,就不执行循环体;如果x!=0,就执行循环体。


搜讯息 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C语言中如何生成1~100的随机数(附代码)_C#.Net教程,c语言,随机数
喜欢 (0)
[1353713598@qq.com]
分享 (0)
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址