當前位置:首頁 » 編程語言 » c語言頭文件怎麼寫隨機數字
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言頭文件怎麼寫隨機數字

發布時間: 2023-06-17 17:59:17

A. c語言中如何生成1個0到1的隨機數

C語言中生成1個0到1的隨機數可以執行語句:float b=rand()/(RAND_MAX+1.0);

解析:

標准C庫中函數rand()可以生成0~RAND_MAX之間的一個隨機數,其中RAND_MAX 是stdlib.h 中定義的一個整數,它與系統有關。rand()函數沒有輸入參數,直接通過表達式rand()來引用;

用函數rand取得的隨機數除以(RAND_MAX+1.0),即可確保得到的結果在0到1之間。ISO IEC 9899 2011 (C11)標准中未規定 RAND_MAX 的具體數值。但該標准規定了RAND_MAX 的值應至少為32767。編程的時候,不應該對 RAND_MAX 的具體數值做任何假設。

(1)c語言頭文件怎麼寫隨機數字擴展閱讀:

相關說明:

1、因為rand()函數是按指定的順序來產生整數,因此每次執行上面的語句都列印相同的兩個值,所以說C語言的隨機並不是真正意義上的隨機。

2、為了使程序在每次執行時都能生成一個新序列的隨機值,我們通常通過為隨機數生成器提供一粒新的隨機種子。函數 srand()(來自stdlib.h)可以為隨機數生成器播散種子。只要種子不同rand()函數就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器。

3、隨機種子(Random Seed)是計算機專業術語,一種以隨機數作為對象的以真隨機數(種子)為初始條件的隨機數。一般計算機的隨機數都是偽隨機數,以一個真隨機數(種子)作為初始條件,然後用一定的演算法不停迭代產生隨機數。

B. c語言怎麼寫1到100中隨機數啊

包含頭文件stdlib.h,產生的隨機數為rand()%100+1,用一個變數保存這個隨機數就行,當然也還有比較復雜和完善的產生隨機數的方法,不過這個是最簡單的

C. C語言中如何隨機選取數組中的數字(程序代碼請寫出)

應該是a[2][3]={{1,3,2},{8,0,3}} 吧

#include <iostream> //cout函數的頭文件
#include <cstdlib>
#include <time.h> /* srand函數與rand函數的頭文件*/

using namespace std;

int main()
{
int a[2][3]={{1,3,2},{8,0,3}},x,y,z;

srand ( (unsigned) time (NULL) );

x=rand()%2; //調用隨機函數
y=rand()%3; //調用隨機函數

z=a[x][y];

cout<<z<<"\n";

system ("pause");

return 0;
}

三樓,請注意素質...
那是我的版權!!

樓主,一定要注意先來後到!
我本是2樓的,後因稍作修改,沒想到3樓抄襲我。。。

D. 如何用C語言編寫隨機生成數或者字母的程序

生成隨機數 用函數rand就可以
引用頭文件stdlib.h
調用rand()就生成一個隨機數。
要生成字母 可以用
rand()%26+'A'
改成a就是小寫字母。

E. C語言抽取隨機數怎麼編寫

源程序代碼以及演算法解釋如下:

產生1-10隨機數程序:

#include <iostream>

#include <time.h>

using namespace std;

int main()

{

const int n = 10;//定義隨機數個數

int number[n] = { NULL };//定義隨機數存儲的數組

srand((unsigned)time(NULL));//初始化隨機函數

number[0] = rand() % n;//第一個隨機數無需比較

cout << number[0] << " ";

for (int i = 1; i < n; i++)//其餘隨機數循環產生

{

int j = 0;

number[i] = rand() % n;//產生隨機數

while (1)

{

if (number[i] == number[j])//若有相同則繼續循環重新安排隨機數

{

number[i] = rand() % n;//產生隨機數

j = 0;//若遇到相同的就從頭遍歷

continue;

}

if (j == (i - 1))//若遍歷完就跳出

break;

j++;

}

cout << number[i] << " ";

}

cout << endl;

return 0;

}

程序運行結果如下:



(5)c語言頭文件怎麼寫隨機數字擴展閱讀:

利用vector進行隨機數輸出:

#include <iostream>

#include <vector>

#include <time.h>

using namespace std;

int main()

{

const int n = 10;

int randnum;

vector<int> number;

for (int i = 0; i < n; i++)

{

number.push_back(i + 1);//從尾部添加元素

cout << number[i] << " ";

}

cout << endl;

srand((unsigned)time(NULL));

for (int j = 0; j < n; j++)//其餘隨機數循環產生

{

randnum = rand() % (n - j);//rand函數生成的隨機數是0-(n-1)

cout << number.at(randnum) << " ";

number.erase(number.begin() + randnum);

}

cout << endl;

return 0;

}

F. C語言如何產生一定范圍內一定數量的不同隨機數

源代碼如下:

#include <stdio.h>

#include <stdlib.h>

#include <stdbool.h>

#include <unistd.h>

#define a 16807//or 48271

#define m 2147483647

#define q (m/a)

#define r (m%a)

static long int seed = 1;

//return rand long in [1,m]

long int pm_rand(void)

{

long hi = seed / q;

long lo = seed % q;

long tmp = a * lo - r * hi;

if(tmp > 0)

seed = tmp;

else

seed = tmp + m;

return seed;

}

int main(void)

{

for(int i = 0;i < 100;++i)

printf("%ld ",pm_rand());

puts("");

return 0;

}

(6)c語言頭文件怎麼寫隨機數字擴展閱讀

不指定范圍產生隨機數的源代碼

#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
for(i=0; i<10; i++) //隨機產生10個數。
{
printf("%d ", rand());
}
return 0;
}

G. c語言,如何產生隨機數

具體代碼如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h> //用到了time函數
int main()
{ int i,number;
srand((unsigned) time(NULL)); //用時間做種,每次產生隨機數不一樣
for (i=0; i<50; i++)
{
number = rand() % 101; //產生0-100的隨機數
printf("%d ", number);
}
return 0;
}
有以下幾種情況:
(1) 如果你只要產生隨機數而不需要設定范圍的話,你只要用rand()就可以了:rand()會返回一隨機數值, 范圍在0至RAND_MAX 間。RAND_MAX定義在stdlib.h, 其值為2147483647。

(2) 如果你要隨機生成一個在一定范圍的數,你可以在宏定義中定義一個random(int number)函數,然後在main()裡面直接調用random()函數:
例如:
rand()%100是產生0-99的隨機數。

(3)但是上面兩個例子所生成的隨機數都只能是一次性的,如果你第二次運行的時候輸出結果仍和第一次一樣。這與srand()函數有關。srand()用來設置rand()產生隨機數時的隨機數種子。在調用rand()函數產生隨機數前,必須先利用srand()設好隨機數種子(seed), 如果未設隨機數種子, rand()在調用時會自動設隨機數種子為1。上面的兩個例子就是因為沒有設置隨機數種子,每次隨機數種子都自動設成相同值1 ,進而導致rand()所產生的隨機數值都一樣。
srand()函數定義 : void srand (unsigned int seed);
通常可以利用geypid()或time(0)的返回值來當做seed。如果你用time(0)的話,要加入頭文件#include<time.h>

H. C語言如何編程產生隨機數

樓主你好!
很高興回答你的問題!
#include<stdio.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int num;
srand((unsigned)time(NULL));
num = rand()%100+1;
printf("%d\n",num);
return 0;
}
上面的是參數一個1到100之間的隨機數的例子!主要用到rand()函數,它能夠隨機參數一個0到unsigned int的最大值之間的一個隨機數,我們可以通過%控制隨機數參數的范圍!差拍迅在使用rand()需要調虛此用srand()種子器,不然你每次得到都是同一個數!具體用法可以去網上查查賀頌!
希望我的回答對你有幫助!
望採納!謝謝!

I. 如何在C語言中產生一定范圍的隨機數

c語言的獲取隨機數的函數為rand(),
可以獲得一個非負整數的隨機數。要調用rand需要引用頭文件stdlib.h。
要讓隨機數限定在一個范圍,可以採用模除加加法的方式。
要產生隨機數r,
其范圍為
m<=r<=n,可以使用如下公式:
rand()%(n-m+1)+m
其原理為,對於任意數,
0<=rand()%(n-m+1)<=n-m
於是
0+m<=rand()%(n-m+1)+m<=n-m+m

m<=rand()%(n-m+1)+m<=n