首页后端开发ASP.NETC语言中如何生成1~100的随机数(附代码)

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

时间2024-01-31 19:46:03发布访客分类ASP.NET浏览337
导读:收集整理的这篇文章主要介绍了C语言中如何生成1~100的随机数(附代码),觉得挺不错的,现在分享给大家,也给大家做个参考。在c语言中是如何生成1~100的随机数的呢?想必大家都想了解一下吧,那么话不多说,跟着小编一起了解一下吧。C语言如何生...
收集整理的这篇文章主要介绍了C语言中如何生成1~100的随机数(附代码),觉得挺不错的,现在分享给大家,也给大家做个参考。

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

C语言如何生成随机数

生成10个1~100的随机数

废话不多说直接上程序。

#includestdio.h>
    #includestdlib.h>
    #includetime.h>
 int main(){
    int ret = 0;
    srand((unsigned int)time(NULL));
    for(int i=0;
     i10;
 i++){
    ret = rand()%100;
    PRintf("%d ",ret);
}
    return 0;
}
    

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

随机数生成代码的分析

以上程序的关键代码是:

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

rand()函数所需头文件是

#includestdlib.h>
    

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

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

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

#includetime.h>
    

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

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

#includestdlib.h>
    

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

注意:

   ret = rand()%100;
    

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

有趣的小程序

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

#includestdio.h>
    #includetime.h>
    #includeprocess.h>
    #includestdlib.h>
    #includeWindows.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;
}
    

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

谢谢您的阅读

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

推荐教程:《C语言》

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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

c语言

若转载请注明出处: C语言中如何生成1~100的随机数(附代码)
本文地址: https://pptw.com/jishu/594398.html
c语言中pow函数的用法是什么? 聊聊vue 中的v-on参数问题

游客 回复需填写必要信息