C/C++生成隨機數


1、c語言生成隨機數

​ 需要的頭文件:#include<stdlib.h>

​ #include<time.h>

​ 需要使用的函數:rand()、srand()、time()

rand()函數的使用
  int n = rand();

​ 生成一個隨機數n

​ 接下來,來點更靈活的,讓n的取值在-5~55之間:

​ 於是我們想到了用取模,0<= n%61 <=60,n%61減5,得 -5<= n%61-5 <=55,則

	  int x = n%61-5;	// 等價於 int x = rand()%61-5;

​ 生成-5~55范圍內的隨機數x,其它任何范圍同理。

srand()和time()函數的使用

​ 上述生成的隨機數每次運行都是相同的,並非是真正意義上的隨機數,要生成真正意義上的隨機數需要1.2中兩個函數的輔助。srand()是種子函數,1.1中未調用該函數,系統默認種子數為1,所以每次運行都是同一個值。time()是調用系統時間的函數。

​ 生成真正意義上的隨機數代碼如下:

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
	int main()
    {
        srand(time(0));
        int x = rand()%61-5;
        return 0;
    }

2、c++生成隨機數

​ c++生成隨機數和c同理,只要改一下頭文件即可,代碼如下:

	#include<iostream>
	#include<cstdlib>
	#include<ctime>
	int main()
    {
        srand(time(0));
        int x = rand()%61-5;
        return 0;
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM