精华内容
下载资源
问答
  • c语言产生随机数数组
    千次阅读
    2021-11-22 11:16:56
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main(){
    	int i;
    	int a[20];
    	srand((unsigned)time(NULL));
    	for(i = 0;i<20;i++)
    	{
      		a[i] =rand()%100+1;
      		printf("%d   ",a[i]);
    	}	
    }

    注意 如果种子不设置为时间那么每次获得的随机数都会一致

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

    万次阅读 多人点赞 2019-12-03 20:18:21
    C语言生成随机数和随机数组 time函数要包含头文件<time.h> rand函数要包含头文件<stdlib.h> 随机数 int a; srand((unsigned)time(NULL)); // 播种 a = rand() % 200 + 1; 随机数组 #include <...

    C语言生成随机数和随机数组


    time函数要包含头文件<time.h>
    rand函数要包含头文件<stdlib.h>

    随机数

    int a;
    srand((unsigned)time(NULL)); // 播种
    a = rand() % 200 + 1;
    

    随机数组

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    // 生成元素为1-200的随机数组
    int main()
    {
    	int a[100],aa;
    	int i;
    	int count = 0;
    
    	// 按时间重新播种
    	srand((unsigned)time(NULL));
    
    	for (i = 0; i < 100; i++)
    	{
    		aa = rand() % 200 + 1;
    		a[i] = aa;
    	}
    
    	for (i = 0; i < 100; i++)
    	{
    		printf("%-5d", a[i]);
    		count++;
    		if (count == 10)
    		{
    			printf("\n");
    			count = 0;
    		}
    			
    	}
    
    	system("pause");
    	return 0;
    }
    
    展开全文
  • 1.定义一个一维数,数组大小为24。2.产生0~23的随机数。3.将产生随机数存入i数组,要求数组...5.注意,C语言随机数函数,可以用函数产生随机数。RAND(N)#include #include #define ArrayMaxItem 24int RandTest(...

    1.定义一个一维数,数组大小为24。

    2.产生0~23的随机数。

    3.将产生的随机数存入i数组,要求数组中的每个数据不能相同。

    4.补充说明,这个子程序要求每次调用后,这个数组里面就 存放了0~23这些数据,而且这些数据没有重复的。

    5.注意,C语言有随机数函数,可以用函数产生随机数。RAND(N)

    #include

    #include

    #define ArrayMaxItem 24

    int RandTest()

    {

    int i = 0;

    int ret = 0;

    time_t t;

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

    {

    srand((unsigned) time(&t)*10);

    ret = rand();

    //ret = rand((unsigned) time(&t));

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

    }

    return 0;

    }

    int RandArray(int *a, int n)

    {

    int i = 0;

    int t = 0;

    time_t mytime;

    struct tm *timeinfo;

    for (i=0; i

    a[i] = 0;

    /*only n-1 posions need to by seted*/

    for (i=0; i

    {

    while(a[t=rand((unsigned)time(&mytime))%n] != 0);

    a[t] = n-i-1;

    timeinfo = localtime(&mytime);

    printf("time:%s a[%d]:%d\n", asctime(timeinfo), t, a[t]);

    }

    for (i=0; i

    {

    printf("a[%d]:%d\n", i, a[i]);

    }

    return 0;

    }

    int main()

    {

    int a[ArrayMaxItem];

    RandArray(a, ArrayMaxItem);

    //RandTest();

    return 0;

    }

    1.随机数的使用过程:

    网上说要先调用srand(unsigned seed)函数设置随机数种子,再调用rand(void)产生随机数,但我用系统时间来作为种子,产生了十次随机数值都是一样的。

    之后采用上面代码所用的方法,直接将种子传入rand()函数中,调用十次产生不同的值,但每次调用产生的值是同一组。

    2.获得系统时间:

    #include

    #include

    int main()

    {

    time_t rawtime;

    struct tm * timeinfo;

    time ( &rawtime );

    timeinfo = localtime ( &rawtime );

    printf ( "The current date/time is: %s", asctime (timeinfo) );

    return 0;

    }

    time_t // 时间类型(time.h 定义)

    struct tm { // 时间结构,time.h 定义如下:

    int tm_sec;

    int tm_min;

    int tm_hour;

    int tm_mday;

    int tm_mon;

    int tm_year;

    int tm_wday;

    int tm_yday;

    int tm_isdst;

    }

    time ( &rawtime ); // 获取时间,以秒计,从1970年1月一日起算,存于rawtime

    localtime ( &rawtime ); //转为当地时间,tm 时间结构

    asctime() // 转为标准ASCII时间格式:

    //就是直接打印tm,tm_year 从1900年计算,所以要加1900,月tm_mon,从0计算,所以要加1

    3.思路:

    用随机数产生0~n-1范围内的数组下标,当对应的数不为0,则置为n-i-1,这样,只需要置n-1个,最后一个本来就是0。

    产生0~n-1范围内的随机数的方法是对rand()产生出来的随机数对n取余。

    4.运行结果:

    time:Tue Apr 19 12:28:42 2016

    a[7]:23

    time:Tue Apr 19 12:28:42 2016

    a[22]:22

    time:Tue Apr 19 12:28:42 2016

    a[9]:21

    time:Tue Apr 19 12:28:42 2016

    a[19]:20

    time:Tue Apr 19 12:28:42 2016

    a[17]:19

    time:Tue Apr 19 12:28:42 2016

    a[10]:18

    time:Tue Apr 19 12:28:42 2016

    a[12]:17

    time:Tue Apr 19 12:28:42 2016

    a[13]:16

    time:Tue Apr 19 12:28:42 2016

    a[2]:15

    time:Tue Apr 19 12:28:42 2016

    a[11]:14

    time:Tue Apr 19 12:28:42 2016

    a[18]:13

    time:Tue Apr 19 12:28:42 2016

    a[4]:12

    time:Tue Apr 19 12:28:42 2016

    a[16]:11

    time:Tue Apr 19 12:28:42 2016

    a[8]:10

    time:Tue Apr 19 12:28:42 2016

    a[15]:9

    time:Tue Apr 19 12:28:42 2016

    a[21]:8

    time:Tue Apr 19 12:28:42 2016

    a[14]:7

    time:Tue Apr 19 12:28:42 2016

    a[6]:6

    time:Tue Apr 19 12:28:42 2016

    a[5]:5

    time:Tue Apr 19 12:28:42 2016

    a[1]:4

    time:Tue Apr 19 12:28:42 2016

    a[23]:3

    time:Tue Apr 19 12:28:42 2016

    a[20]:2

    time:Tue Apr 19 12:28:42 2016

    a[3]:1

    a[0]:0

    a[1]:4

    a[2]:15

    a[3]:1

    a[4]:12

    a[5]:5

    a[6]:6

    a[7]:23

    a[8]:10

    a[9]:21

    a[10]:18

    a[11]:14

    a[12]:17

    a[13]:16

    a[14]:7

    a[15]:9

    a[16]:11

    a[17]:19

    a[18]:13

    a[19]:20

    a[20]:2

    a[21]:8

    a[22]:22

    a[23]:3

    原文:http://www.cnblogs.com/dengnilikai/p/5407729.html

    展开全文
  • C语言产生随机数的方法

    万次阅读 2020-04-10 10:33:11
    C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而...

    原理概述

    在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原型是:

    void srand(int a)
    

    rand()会返回一随机数值,范围在0至RAND_MAX 间。返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,(其值至少为32767),要看你定义的变量类型,int整形的话就是32767。 在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。一般用for语句来设置种子的个数。

    通用的随机数发生器

    函数名:rand
    功能:随机数发生器
    用法:

    void rand(void)
    

    程序例:

    //   Date:2020/4/10
    //   Author:xiezhg5
    #include <stdio.h>
    #include <stdlib.h>
    int main(void)
    {
    	int i;
    	printf("Ten rand number from 0 to 99\n\n");
    	for(i=0;i<10;i++)
    		printf("%d\n",rand()%100);
    	return 0;
    }
    

    在这里插入图片描述

    如何产生设定范围的随机数

    从X到Y,有Y-X+1个数,所以要产生从X到Y的数,只需要这样写
    k=rand()%(Y-X+1)+X
    程序例:

    产生0~32767之间的随机数:

    //   Date:2020/4/10
    //   Author:xiezhg5
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main(void)
    {
    	int i;
    	srand((unsigned)time(NULL));
    	for(i=0;i<10;i++)
    		printf("%d\n",rand());
    	return 0;
    }
    

    在这里插入图片描述

    产生0~1之间的随机数:

    //   Date:2020/4/10
    //   Author:xiezhg5
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main(void)
    {
    	int i;
    	srand((unsigned)time(NULL));
    	for(i=0;i<10;i++)
    		printf("%5.2f\n",rand()/32767.0);
    	return 0;
    }
    

    在这里插入图片描述

    产生0~100之间的随机数:

    //   Date:2020/4/10
    //   Author:xiezhg5
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main(void)
    {
    	int i;
    	srand((unsigned)time(NULL));
    	for(i=0;i<10;i++)
    		printf("%d\n",rand()%100+1);
    	return 0;
    }
    

    在这里插入图片描述

    产生不重复的随机数:

    两种思路:

    //   Date:2020/4/10
    //   Author:xiezhg5
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    swap(int *pm,int *pn)   //必须用指针进行交换
    {
    	int temp;
    	temp=*pm;
    	*pm=*pn;
    	*pn=temp;
    }
    int main(void)
    {
    	int i,a[513];                   //int *pm,*pn
        srand((unsigned)time(NULL));   //定义这个可以产生不同的随机数
        for(i=1;i<=512;i++)
        {
        	a[i]=i;
        	printf("%4d",a[i]);
        }
        for(i=512;i>=1;i--)
        {
        	swap(&a[i],&a[rand()%i+1]);  //加1是从1到i的随机,不包含0
        }
        printf("\n");
        for(i=1;i<=64;i++)
        	printf("%4d",a[i]);
        getch();
        return 0;
    }
    

    在这里插入图片描述

    //   Date:2020/4/10
    //   Author:xiezhg5
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main(void)
    {
    	int a[100]={0};
    	int i,m;
    	for(i=1;i<=99;i++)
    		printf("%4d",a[i]);
    	srand((unsigned)time(NULL));
    	for(i=1;i<=99;i++)
    	{
    		while(a[m=rand()%100+1]);
    		a[m]=i;
    
    	}
    	for(i=1;i<=99;i++)
    		printf("%4d",a[i]);
    	getch();
    	return 0;
    }
    

    在这里插入图片描述
    关于C语言随机数可以看看这道题:https://blog.csdn.net/qq_45645641/article/details/105289876

    展开全文
  • C语言产生随机数(不重复) 头文件windows.h 借助sleep进行时间上的滞后 #include "stdio.h" #include <stdlib.h> #include <time.h> #include <windows.h> int * random()//Generate random ...
  • C语言使用循环产生随机数数组

    千次阅读 2019-10-12 10:36:13
    ##使用循环产生随机数数组 #include<stdio.h> #include<time.h> #include<stdlib.h> #define SIZE 100 void getRandomArr(){ srand((unsigned)time(NULL)); int i; for(i=0;i<SIZE;i++){...
  • c语言生成随机数数组

    千次阅读 2014-10-16 17:10:08
    c语言实现获得从0 ~ num-1 的随机数组(数组元素不重复,内容是0~num-1),实现的原理是数组乱序,效率高!
  • 如果要给二维数组(m*n)分配空间,代码可以写成下面: 代码如下:char **a, i; // 先分配m个指针单元,注意是指针单元 // 所以每个单元的大小是sizeof(char *) a = (char **) malloc(m * sizeof(char * )); // 再分配n...
  • C语言生成随机数的方法

    万次阅读 多人点赞 2022-03-25 17:56:12
    以上就是今天要讲C语言生成随机数的内容,包含rand、srand和time函数的使用,希望对刚刚阅读本篇博客的你有所帮助。
  • rand()函数是产生随机数的一个随机函数。(1)使用该函数首先应在开头包含头文件stdlib.h#include(C++建议使用#include,下同)(2)在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib....
  • C语言产生随机数存入数组,数据不能相同1.定义一个一维数,数组大小为24。2.产生0~23的随机数。3.将产生随机数存入i数组,要求数组中的每个数据不能相同。4.补充说明,这个子程序要求每次调用后,这个数组...
  • C语言生成不重复的随机数数组

    千次阅读 2019-08-17 21:43:18
    C语言生成不重复的随机数数组 //一个随机数数组生成算法,生成0-n不重复的随机数数组 //本例子使用的是0-99的范围,参数可改 //如果是在最后面的数组,使用完,丢弃 //如果是前面的数则用后面不可取到的数替换 #...
  • 满意答案axhbl2013.01.15采纳率:42%等级:2已帮助:29986人"#include #include #include #define SIZE 100void main(){int numbers[SIZE];int i, j;srand(time(NULL));for (i = 0; i < SIZE;...
  • 代码如下://以空间换时间/*arr :数组名n :给定的数组长度转移数组中的数据*/ void diffarr(int arr[],int n){ int sn=n,index,*ptr=arr; int *pfrom=new int[sn]; for(int i=0;i<sn;i++) *(pfrom+i) =i+1 ;...
  • C语言产生随机数

    千次阅读 2021-05-24 01:57:03
    C语言/C++产生随机数:要用到的函数是rand(), srand()和time()需要说明的是,iostream头文件中就有srand函数的定义,不需要再额外引入stdlib.h;而使用time()函数需要引入ctime头文件。使用rand()函数获取一个随机数...
  • (1)如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX间。RAND_MAX定义在stdlib.h, 其值为2147483647。例如:#include#includevoidmain(){for(int i=0...
  • 1.产生20个随机数在[200, 400]范围内。存入数组array_1,其中能被5整除的存入数组array. 2,要求输出array. 2中的数的平均值。[要求模块化程序设计, 并保程序的交互性,能用到的函数rand(), srand()] 2.生成50个100, ...
  • c语言产生随机数的函数

    万次阅读 多人点赞 2018-04-15 11:38:01
    1.产生随机数 (1)使用该函数首先应在开头包含头文件stdlib.h(2)在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。(3)rand()函数没有输入参数...
  • C语言随机数

    2021-06-27 22:25:54
    C语言产生随机数要用到rand()函数和srand()函数。 若是为了生成一个无范围限制的随机数,只虚用rand()函数即可。rand()函数会返回一个随机数,范围时 0~RAND_MAX。RAND_MAX定义在stdio.h中。 如果要生成某个范围内...
  • C语言输出随机数(四种)

    千次阅读 多人点赞 2020-01-20 20:07:02
    C语言输出随机数的四种方式
  • C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,这篇文章主要介绍了使用c语言生成随机数的示例,需要的朋友可以参考下
  • C语言中,我们一般使用 头文件中的 rand() 函数来生成随机数,它的用法为:int rand (void);void 表示不需要传递参数。C语言中还有一个 random() 函数可以获取随机数,但是 random() 不是标准函数,不能在 VC/VS ...
  • C语言随机数的生成【详解】

    万次阅读 多人点赞 2020-06-10 13:39:48
    (rand 函数 srand 函数)(生成范围随机数公式)(随机数实例:选择排序等)
  • 用 c 语言产生随机数C语言中 ,rand() 函数可以用来产生随机数,但是这不是真真意义上的随机数, 是一个伪随机数, 是根据一个数, 我们可以称它为种子,为基准以某个递推公式推算出来的一系数, 当这系列数很大的...
  • C语言一个数组中随机抽取5个数字

    千次阅读 2022-03-29 09:33:09
    #include <stdio.h> #include <stdlib.h>//srand ,rand #include <time.h>//用到time() int main() ... int cmdbox[10]={201,202,203,204,205,206,207,...//从这个数组中取数 int randbox[5]={0}.
  • 随机数在单片机的应用中也是很多的,当然产生随机数的方法有很多,当中有一个就是利用单片机定时器,取出未知的定时器THX和TLX的值,再加以运算...C语言提供了一些库函数来实现随机数产生C语言中有三个通用的随...
  • c语言生成随机数(组)

    千次阅读 2019-12-20 10:56:14
    int rand(void);...种子在每次启动计算机时是随机的,但是一旦计算机启动以后它就不再变化了,根据公式推算出来的结果(也就是生成的随机数)就是固定的。 可以通过函数void srand(unsigned int seed);来重新...
  • C语言////产生随机数组

    千次阅读 2020-06-05 20:04:04
    最近在学习C语言数组,每次都要自己手输入一些测试数据,很是麻烦,因此查了一下怎么样产生随机数组,写法固定,源码如下 #include<stdio.h> //产生随机数,需要引入下面两个头文件 #include<stdlib.h>...
  • 核心知识点: ...③rand()函数生成的随机数是由一个特殊数经过特定公式生成的,这个特殊数通常称为”种子“,种子在每次开机后不变,故这种情况下生成的随机数组每次都一样。 ④所以我们希望种子数是随时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,551
精华内容 7,420
关键字:

c语言产生随机数数组

友情链接: JNIBridge.rar