『壹』 c語言裡面如何利用time.h產生隨機數和控制整個程序的時間
給你個例子
/* srand example */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (void)
{
printf ("First number: %d\n", rand() % 100);
srand ((unsigned int)time(NULL) );
printf ("Random number: %d\n", rand() % 100);
srand (1);
printf ("Again the first number: %d\n", rand() %100);
return 0;
}
控制整個程序的時間 是什麼意思啊?
『貳』 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了。
『叄』 如何用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了。
『肆』 c語言,如何產生隨機數
1、第一步,先定義int一個數組和int一個指針變數。
『伍』 c語言怎麼生成隨機數
你好!
#include<stdio.h>
#include<stdlib.h>//生成隨機數用
#include<time.h>//利用時間生成種子
#include<math.h>
intmain()
{
inti;
inta[100];
srand(time(NULL));//生成種子
for(i=0;i<100;i++)
{
a[i]=rand()%1000+1000;//生成一個小於1000的隨機數
//然後加1000,變成1000-2000之間的數
printf("%d",a[i]);//列印
}
i=rand()%100;//隨機抽取其中的一個數
printf("
抽取到的是:%d
",a[i]);//列印
return0;
}
『陸』 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了。
『柒』 怎麼用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語言編程有個地方不會 怎麼用srand和time函數生產隨機數
你先要知道,計算機並不能產生真正的隨機數。他只是使用你提供的一個初始值,每次對這個值進行一個比較復雜的運算(各種位運算+奇奇怪怪的計算,詳情請查閱偽隨機演算法),意思是計算機的隨機數,其實也是可以根據他的隨機函數算出來的。。
srand()函數是添加隨機數種子,其實就是設置這個初始值,如果不要這個函數的話,rand()函數生成的序列是固定的。為了保證每次隨機值都盡量不同,一般取系統當前時間戳作為隨機函數種子,這樣效果較好,於是就有了你看到的代碼srand(time(NULL))
rand()函數是取隨機值。有了隨機種子之後,每次調用rand函數會生成一個范圍在0到MAX_RAND的隨機值。MAX_RAND這是個宏,在不同的IDE裡面有不同的定義,在我的VS2012裡面,他等於0x7fff。
意思是rand()函數每次生成的隨機數范圍在0到0x7fff之間。
看你的代碼應該是要叫人猜計算機生成的隨機數,如果這個范圍過大,就沒什麼意思了,我就假設你需要的隨機數是0到9之間的吧。那麼你生成隨機數的代碼就應該是:
rand()%10;
我不是很清楚你的代碼到底要表達什麼,我自己隨便寫了一份參考代碼:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int
ReadInt()
{
int
MyRand;
printf("please
guess
a
number,
range(0~9):");
scanf("%d",&MyRand);
return
MyRand;
}
int
main()
{
int
MyRand;
srand(time(NULL));
while(true)
{
int
x=rand()%10;
MyRand=ReadInt();
if(MyRand==x)
{
printf("you
win!\n");
break;
}
else
{
printf("you
guess
wrong!
you
guess:%d
but
the
answer
is:%d
now\nplease
try
again\n",MyRand,x);
}
}
return
0;
}
『玖』 C語言怎樣產生一定范圍的隨機數
在C語言中,rand()函數可以用來產生隨機數,但是這不是真真意義上的隨機數,是一個偽隨機數,是根據一個數,可以稱它為種子。
為基準以某個遞推公式推算出來的一系數,當這系列數很大的時候,就符合正態公布,從而相當於產生了隨機數。
C語言產生一定范圍的隨機數的源代碼如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
for(i=0; i<10; i++) //隨機產生10個數。
{
printf("%d ", rand());
}
return 0;
}
(9)隨機數生成c語言time擴展閱讀
1、如果要隨機生成一個在一定范圍的數,你可以在宏定義中定義一個random(int number)函數,然後在main()裡面直接調用random()函數。
2、在對rand()的前三次調用中,並且此後得到的返回值仍然是在對rand()的第一批調用中所得到的其餘的返回值。因此,只有再次給srand()提供一個隨機的「種子」值,才能再次得到一個隨機數。
『拾』 怎樣用time函數產生隨機數(C語言)
這要用到的是rand()函數, srand()函數,和time()函數。
需要說明的是,iostream頭文件中就有srand函數的定義,不需要再額外引入stdlib.h;而使用time()函數需要引入ctime頭文件。
srand()用來設置rand()產生隨機數時的隨機數種子。在調用rand()函數產生隨機數前,必須先利用srand()設好隨機數種子(seed), 如果未設隨機數種子, rand()在調用時會自動設隨機數種子為1。
使用rand()函數獲取一個隨機數
如果你只要產生隨機數而不需要設定范圍的話,你只要用rand()就可以了:rand()會返回一隨機數值, 范圍在0至RAND_MAX 間。RAND_MAX定義在stdlib.h, 其值為2147483647。
#include<stdio>
#include<time.h>
int main()
{
for(int i=0;i<10;i++)
{
//產生10以內的整數
printf(" rand()%10 ")
}
}