VC中使用srand()來初始化為隨機數(shù)生成器。
創(chuàng)新互聯(lián)建站主要從事做網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)清鎮(zhèn),10多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
#includestdlib.h
void?main()
{
int?i;
randomize();
printf("Ten?random?numbers?from?0?to?99\n\n");
for(i=0;i10;i++)
printf("%d\n",rand()%100);
}
注:可以在TC2.0中運行通過,在VC6.0不能運行。
[以上摘自百度百科]
所以你應(yīng)該使用srand()來作為隨機初始化。
如果一定要用的話,你就只能換編譯器。
#includecstdio
#includecstdlib
#includectime
int?a[110][110];
int?main(){
//time(0)返回的是一個和系統(tǒng)時間有關(guān)的值,將其作為隨機種子可以使得每次隨機種子的值不一樣,也就在后面的rand()中不會輸出同樣的值,達(dá)到了初始化隨機的作用。
srand(time(0));
int?n=5,m=6,mod=100;
for(int?i=1;i=n;i++)
for(int?j=1;j=m;j++)
a[i][j]=rand()%mod+1;
for(int?i=1;i=n;i++){
for(int?j=1;j=m;j++)
printf("%d?",a[i][j]);
putchar('\n');
}
return?0;
}
看代碼:
#includestdio.h
#includestdlib.h
#includetime.h
#define?N?9
void?main()
{
int?i;
int?a[N];
srand(time(0));//以時間為種子,每次生成不同的數(shù)
for(i=0;iN;i++)
{
//生成[5,10]之間的整數(shù)
a[i]=rand()%6+5;//rand()生成數(shù)的范圍在[a,b)寫成:a[i]=a+rand()%(b-a);
}
for(i=0;iN;i++)
printf("%d??",a[i]);
puts("");
}
這里注意一下rand()需要生成數(shù)據(jù)的范圍公式,即:
范圍在[a,b)寫成:a[i]=a+rand()%(b-a)
#include "stdio.h"
#include stdlib.h
#include time.h
int suiji(int *s,int d)
{
int i;
for(i=0;i7;i++)
s[i] = ((rand() % d) + 1);
return 0;
}
void main()
{
int c[7]={0};
srand((unsigned)time(NULL));
suiji(c,100);
int i;
for(i=0;i7;i++)
printf("%d ",c[i]);
}
使用rand()函數(shù)可以生成一個偽隨機數(shù),函數(shù)返回值就是生成的隨機數(shù),可以直接賦值給變量。
#includestdio.h
#includestdlib.h //準(zhǔn)備使用隨機生成函數(shù)
#includetime.h //為了給隨機函數(shù)指定每次不同的種子值,準(zhǔn)備使用時間函數(shù)
#define N 100
void main() { int a[N],i;
srand((unsigned int)time(NULL)); //取當(dāng)前時間當(dāng)隨機數(shù)種子
for ( i=0;iN;i++ ) a[i]=rand()%100+1; //生成隨機數(shù)范圍在[1,100]區(qū)間
for ( i=0;iN;i++ ) printf("%d ",a[i]); printf("\n");
}
rand()函數(shù)生成隨機數(shù)區(qū)間為[0,65535]
如果要生成[a,b]之間的隨機數(shù):rand()%(b-a+1)+a
rand()%100生成隨機數(shù)范圍[0,99]
rand()%100+1生成[1,100]
編程時有時需要隨機輸入一些數(shù),這是調(diào)用隨機函數(shù)可以完成此相命令.
# include “stdio.h”
# include “stdlib.h”
# include “time.h” /*需引用的頭文件*/
srand((unsigned)time(NULL)); /*隨機種子*/
n=rand()%(Y-X+1)+X; /*n為X~Y之間的隨機數(shù)*/
int rand(void)
函數(shù)int rand( void );返回的是一個界于0~32767(0x7FFF)之間的偽隨機數(shù),包括0和32767。
C預(yù)先生成一組隨機數(shù),每次調(diào)用隨機函數(shù)時從指針?biāo)赶虻奈恢瞄_始取值,因此使用rand()重復(fù)運行程序產(chǎn)生的隨機數(shù)都是相同的,可以通過srand()函數(shù)來改變指針位置。
void srand( unsigned int seed )
改變隨機數(shù)表的指針位置(用seed變量控制)。一般配合time(NULL)使用,因為時間每時每刻都在改變,產(chǎn)生的seed值都不同。
基于毫秒級隨機數(shù)產(chǎn)生方法:
#includewindows.h
種子設(shè)為:srand(unsigned int seed); /*這個作用是在讓每次產(chǎn)生隨機數(shù)不會是以樣的*/
srand(GetTickCount());
這樣可以
srand((unsigned)time(NULL)); /*隨機種子*/
n=rand()%(2)+1; /*n為X~Y之間的隨機數(shù)*/
網(wǎng)站題目:隨機函數(shù)c語言賦值,隨機函數(shù)c語言賦值怎么算
文章源于:http://chinadenli.net/article36/heeosg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站改版、品牌網(wǎng)站建設(shè)、、ChatGPT、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)