C 程式測試(隨機數生成 時間記錄)

2021-09-28 08:01:40 字數 1667 閱讀 3082

2.時間記錄

3.程式正確性證明

1.隨機數生成

1.1 隨機數發生器 rand()

包含在標頭檔案中的函式rand()可生成乙個隨機數,其有以下特點:

1.2 隨機數種子

2.時間記錄

2.1 clock()計時函式

中的clock()函式返回從「開啟這個程式程序」到「程式中呼叫clock()函式」時之間的cpu時鐘計時單元(clock tick)數,在msdn中稱之為掛鐘時間(wal-clock)。

#ifndef _clock_t_defined

typedef

long clock_t;

#define _clock_t_defined

#endif

clock_t clock

(void);

// 返回長整型

2.2 每秒的時鐘單元數

中還定義了乙個常量clocks_per_sec,表示一秒鐘的時鐘計時單元數,

#define clock_per_sec ((clock_t)1000)

#define clk_tck clock_per_sec

所以clock() / clocks_per_sec就是經過的秒數。

//計算一段程式執行的時間

#include

#include

using

namespace std;

intmain()

endtime =

clock()

;//計時結束

cout <<

"the run time is: "

<<

(double

)(endtime - starttime)

/ clocks_per_sec <<

"s"<< endl;

system

("pause");

return0;

}

3.程式正確性證明

我們下面寫一段程式來驗證c++中stl的sort()排序的正確性以及時間。

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

const

int maxn =

1e+6

;// 生成的隨機數數目

void

fill_random_int

(vector<

int>

& v,

int cnt)

void

test_sort

(vector<

int>

& v)

}int

main()

其中,我們用到動態斷言assert(條件),當條件為真時無變化,當條件為假時終止程式並給出錯誤提示。

程式生成隨機數與SQL語句生成隨機數

隨機數可以通過程式生成,也可以通過sql語句生成。通過程式生成隨機數時一般採用硬體的編號 時間作為種子,這種方法在瞬間插入資料庫n條資料的時候會影響隨機數的效果,生成很多相鄰的插入值相同。所以頻繁插入時可以使用sql語句的內建函式生成隨機數,可以避免此類事情發生。demo c int min 0,m...

C 隨機數生成

using system using system.collections.generic using system.text namespace createrandomno return sb.tostring 生成大寫字母隨機數 public static string getabcpwd i...

C 隨機數生成

標準庫 被包含於中 提供兩個幫助生成偽隨機數的函式 函式一 int rand void 從srand seed 中指定的seed開始,返回乙個 seed,rand max 0x7fff 間的隨機整數。函式二 void srand unsigned seed 引數seed是rand 的種子,用來初始化...