詳解C語言中rand函數(shù)的使用
前言
我們?cè)诰幊虒?shí)現(xiàn)算法的過程中,往往需要使用到隨機(jī)數(shù)。由于計(jì)算機(jī)是一臺(tái)以邏輯為基礎(chǔ)的機(jī)器,沒法做到真正的隨機(jī)(大概量子計(jì)算機(jī)可以?)。所以計(jì)算機(jī)生成的是偽隨機(jī)數(shù),供我們使用。
我們使用C語言的rand函數(shù),生成的也是偽隨機(jī)數(shù)。
c語言之rand函數(shù)的使用
1、寫入頭文件
#include <stdlib.h> #include <stdio.h> #include <time.h>
2、變量的定義
void main( void ) { int i,k;
3、srand( (unsigned)time( NULL ) ); /*選取種子文件*/
4、for( i = 0; i <20;i++ ) /*循環(huán)控制20個(gè)隨機(jī)數(shù)的生成*/ { k=rand()%100; /*儲(chǔ)存隨機(jī)數(shù)*/ printf( ” k=%d\n”, k ); /*輸出隨機(jī)數(shù)*/ } }
1、此為隨機(jī)函數(shù)的一種產(chǎn)生方法
2、如果只需一個(gè),那么可以省略循環(huán)控制
一個(gè)簡(jiǎn)單的示范如下:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char** argv) { // 以機(jī)器當(dāng)前的時(shí)間來構(gòu)造生成偽隨機(jī)數(shù)的"種子" 。 srand((unsigned int)time(NULL)); int i; // 打印10個(gè)偽隨機(jī)數(shù) for (i = 0; i < 10; i++) { printf("%d ", rand()); } printf("\n"); system("pause"); return 0; }
總結(jié)
以上就是關(guān)于C語言中rand函數(shù)的使用的全部?jī)?nèi)容,希望本文對(duì)大家日常使用C語言的時(shí)候能有所幫助。
相關(guān)文章
C++編程中的數(shù)據(jù)類型和常量學(xué)習(xí)教程
這篇文章主要介紹了C++編程中的數(shù)據(jù)類型和常量學(xué)習(xí)教程,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09使用C語言實(shí)現(xiàn)CRC校驗(yàn)的方法
本篇文章是對(duì)使用C語言實(shí)現(xiàn)CRC校驗(yàn)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05epoll多路復(fù)用的一個(gè)實(shí)例程序(C實(shí)現(xiàn))
這篇文章主要為大家詳細(xì)介紹了epoll多路復(fù)用的一個(gè)實(shí)例程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08探討編寫int strlen(char *strDest);不允許定義變量的問題
本篇文章是對(duì)編寫int strlen(char *strDest);不允許定義變量的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05