• rand()产生随机数 及其和clock()的不同


    rand()使用

      首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数。

    定义函数 : int rand(void)

    函数说明 :
    因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。rand ()产生的是假随机数字,每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()。

    返回值:
    返回0至RAND_MAX之间的随机整数值,RAND_MAX的范围最少是在32767之间(int),即双字节(16位数)。若用unsigned int 双字节是65535,四字节是4294967295的整数范围。
    0~RAND_MAX每个数字被选中的机率是相同的。

    示例如下:
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    
    //产生Range_Min-Range_Max之间的随机数,必须初始化种子,否则每次结果都一样
    int main(void)
    {
    	time_t t;
    	srand((unsigned) time(&t));
    
    	printf("%d
    ", (unsigned) time(NULL));
    	printf("%d
    ", (unsigned) time(&t));
    	int Range_Min = 1;
    	int Range_Max = 10;
    	for(int i=0; i<20; i++)
    	{
    		printf("%d
    ",(int)(Range_Max*rand()/(double)RAND_MAX) +  Range_Min);
    	}
    	return 0;
    }    
    

      

    rand()和clock()的不同

    clock计算的是进程实际使用的各种时间,time是wall time,即钟表时间,此时间内操作系统可能会调度多个进程执行。

    函数名: clock 
    功 能: 确定处理器时间 
    用 法: clock_t clock(void); 
    程序例: 

    #include<stdio.h>
    #include<time.h> #include<windows.h> int main(void) { clock_t start, end; start = clock(); // vc下,头文件是<windows.h>,S要大些,其它情况都要小写;linux下,头文件为unistd.h Sleep(2000*2); end = clock(); printf("The time was: %d seconds ", (end - start)/CLOCKS_PER_SEC); return 0; }

     

    而time()是个时间的函数,time(NULL)就是去当前的时间

    程序实例:

    #include<stdio.h>
    #include<time.h>
    int main(void)  
    {  
       time_t t;  
    
       t = time(NULL);  
       printf("The number of seconds since January 1, 1970 is %ld",t);  
       return 0;  
    }  
    

      

  • 相关阅读:
    Qt C++中的关键字explicit——防止隐式转换(也就是Java里的装箱),必须写清楚
    有栖川有栖《马来铁道之谜》读后感
    Qt多国语言QT_TR_NOOP和QT_TRANSLATE_NOOP
    Qt调用VC++生成的动态链接库
    QTabWidget添加自定义样式
    Qt跨线程信号和槽的连接(默认方式是直连和队列的折中)
    OO五大原则
    《Head First Python》学习笔记03 异常处理
    使用Qt实现MDI风格的主窗体
    Qt中文乱码问题(比较清楚,同一个二进制串被解释成不同的语言)
  • 原文地址:https://www.cnblogs.com/ywl925/p/3776291.html
Copyright © 2020-2023  润新知