精华内容
下载资源
问答
  • c语言随机数生成1到100
    千次阅读
    2021-05-21 05:26:09

    C语言如何srand和rand函数产生10个1-100内的随机数

    10个是任意的,也可能是100个,1-100也是任意的。。。CSS布局HTML小编今天和大家分享解,详细的有追加

    需要准备的材料分别有:电脑、C语言编译器。

    9a61502719944bb07be208303551500f.png

    C语言, 生成1到100间的随机数, 下面两种方法有什么1.(int)(100.0*rand()/(RAND_MAX+1.0))+1 2.rand()%100+1

    假设第一次rand返回1010 第二次rand返回2010 rand_max假设为4000 1,100*(1010/4001)+1约等于100*(1/4)+1=26 2,100*(2020/4001)+1=51 约等于 100*(1/2)+1=51 3,1010%100+1=11 4,2010%100+1=11 第一个式子扩大了随机数波动对结果的影响 尽

    欢迎来到CSS布局HTML,怎样用c语言输出一个1到100的随机数

    源程序如下: #include "pch.h" #include #include using namespace std; int main() { const int n = 10000; int number[n] = { NULL }; srand((unsigned)time(NULL)); number[0] = rand() % n; //第一个随机数无需比较 cout

    c语言生成1 - 100的不重复随机数

    #define _C_SECURE_NO_WARNINGS #include #include #include #include #include int main() { /*1到100随机不重复数*/ int randnum[100]; srand((unsigned int)time(NULL)); randnum[0] = rand() % 100 + 1; for (int i = 0;i < 100;i++) { fl

    C语言中产生0—1的100个随机数

    请大家帮帮忙~~如何用C语言产生0—1之间的100个随机数

    #include"time.h" #include"stdio.h" #include"stdlib.h" #include"malloc.h" #define N 10 #define LIST_INIT_SIZE 100 struct LIST { int *elem; int length; int listsize; }; typedef struct LIST List; void List_Init(List *L) { L->elem=

    怎样用c语言产生0-100随机数?CSS布局HTML小编今天和大家分享助高手

    随机生成函数用 randomize(); x=random(100); 为啥在tc3里运行不了啊?你把下面的15改成100就行了 键盘输入不同种子,得不同的0-15无重复随机数 #include #include main() { int seed=1000; // 种子 int i; int m[16] ; int nn=0; double r; printf("enter seed please\n"); scanf("%d",&seed); srand(seed); // 初

    C语言怎么产生0-100之间1个随机数

    #include #include #include void main() 因为rand()产生的伪随机数 在b=rand()%100;前加一句srand(time(0)); 就好了

    想生成1~13的随机数,详细点,最好带上一段完整的代码

    设计一个C语言程序 猜数游戏 规则:电脑随机产生一设计一个C语言程序 猜数游戏 规则:电脑随机产生一个1-100的随机数让玩#include #include #includeint main(void){int rst,g;int guesscount;//用随机函数了srand( time(NULL) );printf("猜数游戏,输入-1退出.\r\nLet's go 。\r\n\r\n");do{//生成随机数rst = (int)((double) rand() /(double) RAND_MAX * 100);//重

    更多相关内容
  • C语言随机数生成

    千次阅读 2022-03-05 18:02:38
    随机数生成

    在写代码的过程中,我们常常会生成随机数。例如三子棋中的电脑随机下棋,还有猜数字中的随机数等等。

    那么我们应该如何来生成随机数呢?

    在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机数,它的用法为:

    int rand(void);     void表示不需要参数传递

    下面看一个例子:

    #include <stdio.h>

    #include <stdlib.h>

    int main()

    {

    int n = rand();

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

    return 0;}

    运行结果为:41。

    但是多次运行上面的代码,我们会发现每一次运行的结果都为41,这是为什么呢?随机数怎么不随机了?

    其实,这是因为rand()随机生成的随机数是伪随机数,是根据一个数值按照某个公式推算出来的,这个数值我们称之为“种子”。种子和随机数之间的关系是一种正态分布,如下图所示:

     种子在每次启动计算机时是随机的,但是一旦计算机启动以后它就不再变化了;也就是说,每次启动计算机以后,种子就是定值了,所以根据公式推算出来的结果(也就是生成的随机数)就是固定的。

    这里我们就要用到srand()函数来使这个种子发生变化,srand()函数的用法为:

    void srand(unsigned int seed);      它的头文件为<stdlib.h>。

    它需要一个 unsigned int 类型的参数。在实际开发中,我们可以用时间作为参数,只要每次参数的时间不同,那么生成的种子就不同,最终的随机数也就不同。

    使用 <time.h> 头文件中的 time() 函数即可得到当前的时间(精确到秒),就像下面这样:

    srand((unsigned)time(NULL));

    那么,我们生成随机数代码就如下了:

    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>

    int main() {

    int n=0;

    srand((unsigned)time(NULL));

    a = rand();

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

    return 0;

    }

    这样我们多次运行程序,每次产生的随机数都不一样了。

    如何生成一定范围内的随机数:

    int a = rand() % 10;    //产生0~9的随机数

    int a = rand() % 19+23;    //产生23~41的随机数
    

     

    展开全文
  • C语言随机数生成【详解】

    万次阅读 多人点赞 2020-06-10 13:39:48
    (rand 函数 srand 函数)(生成范围随机数公式)(随机数实例:选择排序等)

    一、rand 函数 和 srand 函数

    在C语言中比较常用的随机函数是 rand 函数,它可以随机的产生 0 ~ rand_max 的随机数,定义类型不同最大值也不同,rand 函数包含在头文件stdlib.h中。

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int a=rand();
        printf("%d",a);
        return 0;
    }

    运行结果…………………………………………
    在这里插入图片描述
    你会发现每次产生的随机数都是相同的,因为rand 函数产生的随机数是伪随机数,是根据一个数按照某个公式推算出来的,这个数我们称之为“种子”,但是这个种子在系统启动之后就是一个定值。

    要想每次产生的随机数不一样,那么,我们就要用到 srand 函数。

    srand() 函数原型是:

    void srand (usigned int seed);

    rand() 产生随机数时,如果用srand(seed) 播下种子之后,一旦种子相同,产生的随机数将是相同的。当然很多时候刻意让rand() 产生的随机数随机化,用时间作种子 srand(time(NULL)) ,这样每次运行程序的时间肯定是不相同的,产生的随机数肯定就不一样了。

    此段原文链接: https://blog.csdn.net/lvyibin890/article/details/80141412.如果想看rand和srand函数详解,可观看此文。

    通常可以利用 time(0) 或 getpid(0) 作为seed的返回值,下面我们只介绍用time(0)实现随机数。

    srand((unsigned)time(NULL));   //用时间作种子
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        srand((unsigned)time(NULL));
        int n=rand();
        printf("%d\n",n);
        return 0;
    }

    在这里插入图片描述
    在这里插入图片描述

    此时我们就可以随机产生一个数了。

    二、生成范围随机数公式

    但,作题时我们往往不会用到上面这种方式去产生一个随机数,而是希望产生一定范围内的数据。

    1产生随机数范围:[0,9]

    int a=rand()%10;  //注意10会被整除,所以不包括10

    2产生随机数范围:[0,99]

    int a=rand()%100;

    3产生随机数范围:[66,88]

    int a=66+rand()%23;

    结论产生随机数范围:[m,n]

    int a=m+rand()%(n-m+1);

    接下来举几个例子:

    注意:下面的程序会将 srand((unsigned)time(NULL)) 换成 srand(time(0)),用srand(time(0))方便,且一样可以满足以上产生范围随机数的各种情况。

    三、随机数实例:选择排序等

    ① 随机产生10个[150,270)范围内随机数

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        int a[11];
        int i;
        printf("随机产生10个[150,270)范围内随机数:\n\n");
        srand(time(0));   //srand(time(NULL));
        for(i=1;i<=10;i++)
            //一般键盘随机输入10个数方式:scanf("%d",&a[i]);
            a[i]=150+rand()%120;
        for(i=1;i<=10;i++)
            printf("%d ",a[i]);
        printf("\n");
        return 0; 
    }

    运行结果…………………………………………
    在这里插入图片描述
    ② 随机产生10个[0,99)范围内随机数(指针

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        int a[10]; 
        int *p; 
        printf("随机产生10个[0,99)范围内随机数:\n\n");
        srand(time(0));    //srand(time(NULL));    
        for(p=a;p<(a+10);p++)
            *p=rand()%100; 
        for(p=a;p<(a+10);p++)
            printf("%d ",*p);   //使用指针指向当前的数组元素 
        printf("\n"); 
        return 0; 
    }

    运行结果…………………………………………
    在这里插入图片描述
    ③ 地址 — 随机数

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        int a[10];
        int i;
        printf("产生10个[0,99]随机数:\n\n");
        srand(time(0));          //srand(time(NULL));   
        for(i=0;i<10;i++)
        {
            a[i]=rand()%100;      //随机函数产生 [0,100)
            printf("%d  ",a[i]); 
        }
        printf("\n\n");
        printf("  地址   --- 随机数\n\n"); 
        for(i=0;i<10;i++)
            printf(" %d --- %d\n",a+i,*(a+i));   //通过原数组名和元素序号计算地址 
        printf("\n"); 
        return 0; 
    }

    运行结果…………………………………………在这里插入图片描述

    ④ 实例:选择排序

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        int a[10];
        int i,t,j,min;
        srand(time(0));
        printf("随机产生10个[0,99]随机数:\n");
        for(i=0;i<10;i++)
            a[i]=rand()%100;      //产生10随机数
        for(i=0;i<10;i++)
            printf("%d ",a[i]);   //输出随机数
        printf("\n\n");
        for(i=0;i<=9;i++)
        {
            min=i;
            for(j=i+1;j<10;j++)
               if(a[min]>a[j])
                   min=j;
           if(i!=min)
           {
               t=a[i];
               a[i]=a[min];
               a[min]=t;
           } 
        } 
        printf("由小到大排序:\n");
        for(i=0;i<10;i++)
            printf("%d ",a[i]);
        return 0;
    }

    运行结果…………………………………………
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • C语言中,我们一般使用 头文件中的 rand() 函数来生成随机数,它的用法为:int rand (void);void 表示不需要传递参数。C语言中还有一个 random() 函数可以获取随机数,但是 random() 不是标准函数,不能在 VC/VS ...

    在实际编程中,我们经常需要生成随机数,例如,贪吃蛇游戏中在随机的位置出现食物,扑克牌游戏中随机发牌。

    在C语言中,我们一般使用 头文件中的 rand() 函数来生成随机数,它的用法为:

    int rand (void);

    void 表示不需要传递参数。

    C语言中还有一个 random() 函数可以获取随机数,但是 random() 不是标准函数,不能在 VC/VS 等编译器通过,所以比较少用。

    rand() 会随机生成一个位于 0 ~ RAND_MAX 之间的整数。

    RAND_MAX 是 头文件中的一个宏,它用来指明 rand() 所能返回的随机数的最大值。C语言标准并没有规定 RAND_MAX 的具体数值,只是规定它的值至少为 32767。在实际编程中,我们也不需要知道 RAND_MAX 的具体值,把它当做一个很大的数来对待即可。

    下面是一个随机数生成的实例:

    #include

    #include

    int main(){

    int a = rand();

    printf("%d\n",a);

    return 0;

    }

    运行结果举例:

    193

    随机数的本质

    多次运行上面的代码,你会发现每次产生的随机数都一样,这是怎么回事呢?为什么随机数并不随机呢?

    实际上,rand() 函数产生的随机数是伪随机数,是根据一个数值按照某个公式推算出来的,这个数值我们称之为“种子”。种子和随机数之间的关系是一种正态分布,如下图所示:

    33dac2a3e4a0d6e352a0291092bc693d.gif

    C语言随机数和种子之间呈正态分布

    种子在每次启动计算机时是随机的,但是一旦计算机启动以后它就不再变化了;也就是说,每次启动计算机以后,种子就是定值了,所以根据公式推算出来的结果(也就是生成的随机数)就是固定的。

    重新播种

    我们可以通过 srand() 函数来重新“播种”,这样种子就会发生改变。srand() 的用法为:

    void srand (unsigned int seed);

    它需要一个 unsigned int 类型的参数。在实际开发中,我们可以用时间作为参数,只要每次播种的时间不同,那么生成的种子就不同,最终的随机数也就不同。

    使用 头文件中的 time() 函数即可得到当前的时间(精确到秒),就像下面这样:

    srand((unsigned)time(NULL));

    有兴趣的读者请猛击这里自行研究 time() 函数的用法,本节我们不再过多讲解。

    对上面的代码进行修改,生成随机数之前先进行播种:

    #include

    #include

    #include

    int main() {

    int a;

    srand((unsigned)time(NULL));

    a = rand();

    printf("%d\n", a);

    return 0;

    }

    多次运行程序,会发现每次生成的随机数都不一样了。但是,这些随机数会有逐渐增大或者逐渐减小的趋势,这是因为我们以时间为种子,时间是逐渐增大的,结合上面的正态分布图,很容易推断出随机数也会逐渐增大或者减小。

    生成一定范围内的随机数

    在实际开发中,我们往往需要一定范围内的随机数,过大或者过小都不符合要求,那么,如何产生一定范围的随机数呢?我们可以利用取模的方法:

    int a = rand() % 10; //产生0~9的随机数,注意10会被整除

    如果要规定上下限:

    int a = rand() % 51 + 13; //产生13~63的随机数

    分析:取模即取余,rand()%51+13我们可以看成两部分:rand()%51是产生 0~50 的随机数,后面+13保证 a 最小只能是 13,最大就是 50+13=63。

    最后给出产生 13~63 范围内随机数的完整代码:

    #include

    #include

    #include

    int main(){

    int a;

    srand((unsigned)time(NULL));

    a = rand() % 51 + 13;

    printf("%d\n",a);

    return 0;

    }

    连续生成随机数

    有时候我们需要一组随机数(多个随机数),该怎么生成呢?很容易想到的一种解决方案是使用循环,每次循环都重新播种,请看下面的代码:

    #include

    #include

    #include

    int main() {

    int a, i;

    //使用for循环生成10个随机数

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

    srand((unsigned)time(NULL));

    a = rand();

    printf("%d ", a);

    }

    return 0;

    }

    运行结果举例:

    8 8 8 8 8 8 8 8 8 8

    运行结果非常奇怪,每次循环我们都重新播种了呀,为什么生成的随机数都一样呢?

    这是因为,for 循环运行速度非常快,在一秒之内就运行完成了,而 time() 函数得到的时间只能精确到秒,所以每次循环得到的时间都是一样的,这样一来,种子也就是一样的,随机数也就一样了。

    那么,该如何解决呢?难道就没有办法连续生成随机数了吗?当然有,我们将在《C语言连续生成多个随机数》一节中给出一种巧妙的解决方案。

    到此这篇关于C语言随机数生成教程(rand和srand用法)的文章就介绍到这了,更多相关C语言随机数生成内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    展开全文
  • c语言生成随机数

    千次阅读 2022-03-08 20:25:52
    生成随机数 rand()函数在stdlib.h的头文件中。 rand() 会随机生成一个位于 0 ~ RAND_MAX 之间的整数。RAND_MAX 是 <stdlib.h> 头文件中的一个宏,它用来指明 rand() 所能返回的随机数的最大值。C语言标准并...
  • C语言生成随机数的方法

    千次阅读 2022-03-25 17:56:12
    以上就是今天要讲C语言生成随机数的内容,包含rand、srand和time函数的使用,希望对刚刚阅读本篇博客的你有所帮助。
  • 在实际编程中,我们经常需要生成随机数。例如,贪吃蛇游戏中在随机的位置出现食物,扑克牌游戏中随机发牌。 在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机数,它的用法为: int ...
  • C语言随机数生成及三个具体案例详解

    千次阅读 多人点赞 2022-02-10 09:52:08
    C语言随机数生成讲解
  • c语言随机数生成

    万次阅读 多人点赞 2018-04-22 17:08:26
    在正文开始之前,我们需要说明一件事情,在我们使用函数生成随机数都不是真正的随机数,准确的叫法应该是伪随机数。在 C 语言当中使用随机数要用到 rand 函数和 srand 函数。int rand():返回值为随机值,参数为空...
  • c语言随机数(c语言生成1100随机数)

    千次阅读 2021-05-19 07:39:32
    原发布者:水瓶酒窝哥 随机数的产生方法瑞达路水瓶酒窝哥由于老师布置了产生随机数的作业,要求编一个程序能够产生0000.我是这么写的: unsigned int a; int i; scanf("%u",&a); srand(a); for(i=0;iC语言...
  • _后端开发echo和print区别是:1、echo能接受N个字符串类型的参数,而print只能接收1个字符串类型的参数;2、echo没有返回值,而print有返回值,其值永远...C语言如何生成随机数生成10个1100的随机数废话不多说直接...
  • 主要介绍了详解C语言随机数生成及其相关题目,作者还列举了阿里巴巴的一道相关的面试题,需要的朋友可以参考下
  • 随机数的生成在一些游戏程序中会经常使用,我以前有很多次用到过,每次用的时候上网查一下代码怎么写,大致看一下就复制自己的程序中,总是记不住随机数生成的原理。总之,随机数生成这两行简短的代码对我来说就像...
  • C语言实现生成1到100随机数的方法

    千次阅读 2021-05-18 10:38:54
    C语言实现生成1到100随机数的方法发布时间:2020-06-29 14:08:59来源:亿速云阅读:7054作者:Leah本篇文章为大家展示了C语言实现生成1到100随机数的方法,代码简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇...
  • C语言生成随机数

    千次阅读 2021-07-20 20:25:51
    主要内容rand()函数引入时间戳生成1到100随机数 rand()函数 1.随机数生成用rand(),范围是032767 2.rand()在main主函数中一次定义赋值必是一样的数 #include<stdio.h> #include<stdlib.h>//...
  • C语言生成随机数函数

    千次阅读 多人点赞 2021-10-17 14:36:37
    本文主要详细介绍如何在C语言生成随机数。 一、产生随机数 我们先看一个示例:产生一个随机数并在屏幕上输出 #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { srand(...
  • C语言中,我们一般使用 头文件中的 rand() 函数来生成随机数,它的用法为:int rand (void);void 表示不需要传递参数。C语言中还有一个 random() 函数可以获取随机数,但是 random() 不是标准函数,不能在 VC/VS ...
  • 在C言语中是怎样生成1100的随机数的呢?想必人人都想相识一下吧,那末话不多说,跟着小编一同相识一下吧。C言语怎样生成随机数生成10个1~100的随机数空话不多说直接上程序。#include#include#include int main(){...
  • C语言随机数

    2022-03-31 23:57:42
    1. 随机数概述 编写程序过程中,我们经常需要产生一些随机数随机数在程序中分为两种: 真随机数:完全没有规则,无法预测接下来要产生的数。 伪随机数:通过一些预先设定好的规则产生不能简单预测的数。 当然,...
  • quicksup(arr,l,low-1); quicksup(arr,low+1,r); } } //快速排序(降) void quicksdown(int *arr,int low,int high) { int temp,l,r; if(low { l=low; r=high; temp=arr[low]; while(low { while(low high--; if...
  • 代码如下://以空间换时间/*arr :数组名n :给定的数组长度转移数组中的数据*/ ...i++) *(pfrom+i) =i+1 ; srand(time(0)); for(int k=0;k<sn;) { index=rand()% sn; if(*(pfrom+index)!=0) { //从源数据pf
  • 本文分享了C语言/C++如何生成随机数的具体实现方法,供大家参考,具体内容如下 C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。 (1) 如果你只要...
  • C语言如何生成随机数

    万次阅读 多人点赞 2018-03-24 15:20:57
    C语言如何生成随机数 生成10个100以内的随机数 废话不多说直接上程序。 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; int main() { int ret = 0; ...
  • //小学生四则运算 #include #include #include //产生 [a,b] 区间的随机数 #define RANDOM(a,b) (rand()%((b+1)-(a)) + (a)) //产生 1-20 的整数,如要改变算术范围,则修改这个宏的参数即可 #define GEN_VALUE() ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,211
精华内容 8,884
关键字:

c语言随机数生成1到100

友情链接: LED闪灯_STM32F103.zip