當前位置:首頁 » 編程語言 » c語言隨機整數

c語言隨機整數

發布時間: 2022-05-04 18:31:30

c語言程序取隨機整數

頭文件stdlib.h中
srand,
rand兩個函數
其中
srand一般取當前時間做初始值,所以還要用
time.h
=================
srand函數是隨機數發生器的初始化函數。原型:void
srand(unsigned
seed);
用法:它需要提供一個種子,如:
srand(1);
直接使用1來初始化種子。不過常常使用系統時間來初始化,即使用
time函數來獲得系統時間,它的返回值為從
00:00:00
GMT,
January
1,
1970
到現在所持續的秒數,然後將time_t型數據轉化為(unsigned)型再傳給srand函數,即:
srand((unsigned)
time(&t));
還有一個經常用法,不需要定義time_t型t變數,即:
srand((unsigned)
time(NULL));
直接傳入一個空指針,因為你的程序中往往並不需要經過參數獲得的t數據。srand((int)getpid());
使用程序的ID(getpid())來作為初始化種子,在同一個程序中這個種子是固定的。
===============================

能::偽隨機數發生器所屬庫:stdlib.h用
法:
需要先調用srand初始化,一般用當前日歷時間初始化隨機數種子,這樣每次執行代碼都可以產生不同的隨機數。
函數原型:int
rand(void);

❷ c語言,如何產生隨機數

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

❸ 如何在C語言中生成一定范圍內的隨機數

srand((int)time(NULL));設定隨機數種子
rand()%100;產生0-99的隨機數。

高級點的,假如要產生16-59之間的數,你可以這樣寫:rand()%44+16(這里44由59-16+1得到)。其他情況如法炮製!

❹ c語言產生隨機整數

#include<stdio.h>
#include <stdlib.h>
#include<time.h>
void main()
{
srand((unsigned)time(NULL));
int i=1,n,c,m;
n=rand()%100;
// printf("%d\n",n);
for(i=1;i<=10;i++)
{ m=11-i;
printf("請輸入你猜到的數!你有%d次機會\n",m);
scanf("%d",&c);
if(c<n)
printf("小了,再猜!");
else if(c>n)
printf("大了,再猜!");
else
{ printf("恭喜你 你猜對了!它就是%d\n",n);
break;}
}

}

❺ C語言隨機整數編程問題

int rand_init(int a,int b)
{ return (rand()%(b-a+1)+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 的具體數值做任何假設。

(6)c語言隨機整數擴展閱讀:

相關說明:

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

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

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

❼ C語言怎麼弄隨機整數

#include <stdio.h>
#include <time.h> //提供time()函數的原型
#include <stdlib.h> //提供rand(),srand()函數的原型
int main()
{
int a;
srand(time(0)); //隨機數產生初始化
a= rand()%1000;//產生1--1000之間的隨機數
printf("%d\n",n);
return 0;
}

❽ c語言生成10個不重復的隨機整數,並輸出

#include<stdio.h>
#include<time.h>

#defineelemTypeint/*元素類型*/
#defineLEN100/*數組長度上限*/

/*生成n項min~max范圍的隨機數並存入數組randArr*/
voidrandomArray(elemTyperandArr[LEN],intn,elemTypemin,elemTypemax){
inti;
srand((unsigned)time(NULL));/*用時間做種,每次產生隨機數不一樣*/
for(i=0;i<n;i++)
randArr[i]=rand(NULL)%(max-min+1)+min;/*產生min~max的隨機數*/
}

/*列印數組*/
voidprintArr(elemTypearr[],intlen){
inti;
for(i=0;i<len;i++)
printf("%d ",arr[i]);
putchar(' ');
}

intmain(void){
elemTypearr[LEN];
intlen=10;/*10個隨機數*/

randomArray(arr,len,1,50);/*隨機生成數組內容*/
printArr(arr,len);
putchar(' ');

getch();/*屏幕暫留*/
return0;
}

運行結果

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

假設要生成的隨機數是大於等於20且小於等於100的整數

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
voidmain(){inta,b,x;
a=20;b=100;
srand((unsignedint)time(NULL));//用當前時間生成一個隨機數種子
x=rand()%(b-a+1)+a;
printf("得到一個隨機數:%d ",x);
}

❿ 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;

}

程序運行結果如下:



(10)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;

}

熱點內容
電腦怎麼不顯示手機連接伺服器失敗 發布:2025-05-14 10:42:28 瀏覽:9
安卓如何下載lv手游 發布:2025-05-14 10:35:45 瀏覽:383
pythondict添加key 發布:2025-05-14 10:33:59 瀏覽:382
柱子箍筋加密區長度 發布:2025-05-14 10:18:29 瀏覽:352
雲伺服器和內網穿透哪個好 發布:2025-05-14 10:16:41 瀏覽:627
安徽新能源網路配置是什麼 發布:2025-05-14 10:06:24 瀏覽:631
pinode搭建伺服器 發布:2025-05-14 10:04:23 瀏覽:4
電腦伺服器ip名稱 發布:2025-05-14 10:01:09 瀏覽:749
connectorpython 發布:2025-05-14 09:48:50 瀏覽:763
配置不好怎麼辦 發布:2025-05-14 09:46:40 瀏覽:623