導航:首頁 > 操作系統 > c語言隨機數linux

c語言隨機數linux

發布時間:2022-09-19 19:58:03

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

1、第一步,先定義int一個數組和int一個指針變數。

B. C語言怎樣使用隨機數

#include <stdio.h>
#include <conio.h>
main()
{
int i,n,sum=0;
srand(time(NULL));//設置隨機種子
system("cls");//清屏

n=rand()%101;//隨機數在1-100之間
sum=sum+n;//將生成的隨機數累加,存在sum變數中

printf("\n%d",sum);//輸出總和
system("pause");//使程序在DOS窗口下暫停,可注釋掉
}

C. 怎麼用C語言生成隨機數

生成1~13的隨機數,隨機數序列中沒有重復字數
#include <stdio.h>
#include <stdlib.h> // 包含rand()函數說明
#include <time.h>
#define N 13
void main( void )
{ inti, j, num[N], tmp; //用當前時間種子重置隨機數生成器,使每次運行生成不同的隨機數
srand((unsigned)time( NULL ) );
for(i=0;i<N;i++) // 生成N個數
{
while(1) //生成1個數
{
tmp=N *rand()/ RAND_MAX +1; // 產生隨機數
for(j=0;j<i;j++) //判斷是否重復
if( tmp==num[j] )
break;
if(j==i) // 找到1個數
{
num[i]=tmp; //入隊列
break; // 開始下一輪
}
} printf("%3d\t",num[i]); //列印結果
}
}
如果可以重復,去掉內循環,直接將生成的隨機數存入數組

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

c語言中的隨機數是偽隨機,真正意義上的隨機應該是和上一狀態無關的,所以設置srand就顯得尤為重要了
下面是linux中stdlib的實現,供參考:
static
long
holdrand
=
1L;
void
srand(unsigned
int
seed)
{
holdrand
=
(long)
seed;
}
int
rand()
{
return
(((holdrand
=
holdrand
*
214013L
+
2531011L)
>>
16)
&
0x7fff);
}

E. c語言如何產生隨機數

srand(int)來設種子,然後每次rand()返回一個隨機數。

注意要包含#include <stdlib.h>頭文件,因為用到了srand函數

#include <time.h> //用到了time函數

int main()
{
srand((unsigned) time(NULL)); //用時間做種,每次產生隨機數不一樣

for (int i=0; i<10; i++)
{
int number = rand() % 12 + 1; //產生1-13的隨機數
printf("%d\n", number);
}

return 0;
}

F. c語言 關於產生隨機數

因為,是通過time為輸入來計算出輸出的假的隨機數產生器。
第一次程序執行很多遍,time參數更新好多次帶進去。所以差異很大。
第二次你寫的程序,每次重新運行,到取隨機數函數時候,經過的time都是相接近的數值,所以輸出也一樣

G. linux C語言 rand函數

機械工業出版社有一本linux C的,好像是函數的
你可以看看,寫的我覺得那就非常的好

VC
int rand( void );
The rand function returns a pseudorandom integer in the range 0 to RAND_MAX.
至於 RAND_MAX 在 stdlib.h 中有定義,為 32767
可能是庫不同???難道linux下的C···不一樣?
具體我也不知道不好意思
linuxC我沒弄過···

H. C語言如何生成隨機數

在VC中設計到隨機數有兩個函數
srand()
and
rand()
srand()
的作用是是一個種子,提供每次獲得隨機數的基數而已,rand()根據種子而產生隨機數
注意
1:srand()
里的值必須是動態變化的,否則得到的隨機數就是一個固定數
2:其實可以不用寫srand()
,只用rand()就可以了,省事,簡單,例子如下
如果我們想得到一個
0-60的隨機數那麼可以寫成
int
i;
i=rand()%60;
就可以了。
當然最好有個統一的標注如下:
int
i;
srand((unsigned)time(
NULL
));
i=rand()%60;
這樣就OK了。

I. c語言用linux的ubuntu編程的時候b=rand()%3是把1到3的隨機數賦給b的意思嗎

  1. x%3求余,只可能是0,1,2,因此,這里的隨機數是0,1,2三個,賦值給b。

  2. 不建議直接使用rand()%N這種隨機數生成使用,特別是當N比較大時候。

一般RAND_MAX = 32767,這樣算下來,不太准確的隨機數。

更好的方法如下:

doubler=rand()/(double(RAND_MAX)+double(1));//[0,1)
b=r*3+1;//[1,3]

J. linux中,C語言for語句中的隨機數種子。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i,j;
srand(time(0));
for( i = 0;i < 1000;i++)
for(j = 0;i < 100;i++){
printf("%3d",rand()%100+1);
printf("\n");
}
return 0;
}

閱讀全文

與c語言隨機數linux相關的資料

熱點內容
android平滑滾動效果 瀏覽:841
什麼是編譯器指令 瀏覽:219
微控制器邏輯命令使用什麼匯流排 瀏覽:885
程序員在學校里是學什麼的 瀏覽:601
oraclejava數據類型 瀏覽:890
程序員考注冊會計師 瀏覽:957
怎麼使用access的命令按鈕 瀏覽:899
有點錢app在哪裡下載 瀏覽:832
博途v15解壓後無法安裝 瀏覽:205
什麼是根伺服器主機 瀏覽:438
安卓手游怎麼申請退款 瀏覽:555
安卓系統如何分享網頁 瀏覽:278
ad如何編譯pcb工程 瀏覽:414
除了滴滴app哪裡還能用滴滴 瀏覽:399
截圖怎麼保存文件夾然後壓縮 瀏覽:8
幻影伺服器怎麼樣 瀏覽:28
具體哪些廣東公司招程序員 瀏覽:870
嵌入式編譯器教程 瀏覽:306
ssl數據加密傳輸 瀏覽:86
51單片機定時器方式2 瀏覽:332