c語言rand函數(shù)拋骰子 c語言計算骰子概率

c語言,骰子程序

#include?stdio.h

普陀網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),普陀網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為普陀上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的普陀做網(wǎng)站的公司定做!

#include?time.h

#include?stdlib.h

int?rollDie(void)

{

return?rand()%6+1;

}

void?drawDic(int*?pdic,int?n)

{

int?i,sum=0;

for(i=0;in;i++)

{

pdic[i]=rollDie();

}

for(i=0;in;i++)

{

printf("----");

}

printf("\n");

for(i=0;in;i++)

{

printf("|%d|?",pdic[i]);

sum+=pdic[i];

}

printf("\n");

for(i=0;in;i++)

{

printf("----");

}

printf("\nsum=%d\n",sum);

}

int?main()

{

int?dic[100];

int?n=1;

int?i;

printf("輸入骰子數(shù)目:");

scanf("%d",n);

srand(time(0));

drawDic(dic,n);

return?0;

}

結(jié)果:

請C語言的高手幫幫忙,不知如何去隨機模擬骰子的6000次投擲,不知道rand函數(shù)怎么用

補充下樓上的

srand(time(NULL));

for(i=0;i6000;++i)

{

j=rand()%6+1;// 這個為1-6

++frequency[j-1];//統(tǒng)計頻率,對應(yīng)frequency[0]-frequency[5]

}

擲骰子的 C語言

#include time.h

#include stdio.h

#include string.h

#define MIDDLE_FLAG 1

#define INITIAL_SCORE 1000

int bet()

{

int rollresult;

rollresult = rand()%6 + 1; //此處rand()為隨機數(shù),對6取余結(jié)果為0~5,需要+1修正為1~6

//printf("結(jié)果:%-4d",rollresult);

if (rollresult MIDDLE_FLAG)

return 1;

else

return 0;

}

int main()

{

int betscore,myscore = INITIAL_SCORE;

int resultflag, betflag, betresult;

char cinput[2], sresult[3];

printf("您的初始分數(shù)為%d\n",myscore);

srand((int)time(0)); //用時間創(chuàng)建隨機數(shù)種子

while(1)

{

while(1)

{

puts("請壓分:");

scanf("%d",betscore);

if(betscore myscore)

printf("您的剩余分數(shù)不夠,為%d", myscore);

else

break;

}

fflush(stdin); //強制刷新緩沖區(qū),防止上次輸出影響

puts("請選擇大小G為大L為小,X為退出:");

gets(cinput);

cinput[0] = cinput[0]%32+'A' - 1;

if(cinput[0] == 'X')

break;

else

betflag = (cinput[0] == 'G')?1:0;

//三目運算符“?”用法:x=(ab)?a:b;相當(dāng)于if(ab)x=a;else x=b;

betresult = bet();

myscore = (betresult == betflag)?(myscore+2*betscore):(myscore-betscore);

strcpy(sresult, ((betresult!=0)?"大":"小"));

printf("結(jié)果為%s,您當(dāng)前的分數(shù)為%d\n",sresult, myscore);

}

return 0;

}

c語言 1.rand()模擬拋1000000次骰子 2.輸入任意一個正整數(shù),如:123456,輸出其反序整數(shù),即:654321加分

1定義一個數(shù)組

int a[6]={0};

int i;

for(i=0;i1000000;i++)

a[rand()%6]++;

接著打印樣式就自己寫好了,我給你個差不多

for(i=0;i6;i++)

printf("%f",a[i]*1.0/1000000);

2

其實用一個while搞定

int n=123456,sum=0;

while(n)

{

sum=sum*10+n%10;

n/=10;

}

printf("%d',sum);

rand()%6+1是什么意思?

rand()%6+1是rand()函數(shù),是Excel中產(chǎn)生隨機數(shù)的一個隨機函數(shù),rand()%6+1的意思是編寫C程序模擬的一個擲骰子游戲。

rand()%6+1具體分析為:由于每個人擲骰子所得到的點數(shù)都是隨機的,因此你需要借助隨機數(shù)發(fā)生器,每次產(chǎn)生一個1 到 6之間的整數(shù),由此模擬玩家擲骰子的點數(shù)。

需要得到6個不同的隨機數(shù)值,我們需要調(diào)用rand()函數(shù),并取rand()函數(shù)除以6的余數(shù)就可以,就是rand()%6。但是這樣得到的數(shù)是在0?5之間的6個隨機數(shù),再將它加1,就是rand()%6+1,就可以得到1?6之間的一個隨機數(shù)。

為了計算在每盤中,甲、乙兩人所擲的點數(shù),需要定義兩個int型變量d1、d2,用于記錄每個人投擲點數(shù)的累加器。為了記錄每個人的獲勝盤數(shù),需要再定義兩個int型變量c1、c2,用于記錄每個人獲勝的盤數(shù)。

擴展資料:

rand()%6+1的完整的代碼:

#include stdio.h

#include stdlib.h

#include time.h

int main()

{

int d1, d2, c1, c2, i, j;

c1 = c2 = 0;? /*初始化*/

srand((unsigned)time(NULL));

rand();? /*初始化隨機數(shù)產(chǎn)生器*/

for(i=1; i=100; i++)

{? /*模擬游戲過程*/

d1 = d2 = 0;

for(j=1; j=6; j++)

{? /*兩個人輪流擲骰子*/

d1 = d1+rand()+1;

d2 = d2+rand()+1;

}

if(d1d2)

c1++;? /*累加獲勝盤數(shù)*/

else if(d1d2)

c2++;

}

if(c1c2)? /*輸出最終獲勝者信息*/

printf("\nThe first win.\n");

else

if (c1c2)

printf("\nThe second win.\n");

else

printf("They tie.\n");

return 0;

}

運行結(jié)果:

The second win.

參考資料來源:

百度百科-rand()

求C語言編程題源代碼,擲骰子游戲

這是C語言的題?

C語言不支持bool類型。。

我用C++編譯器編譯的

以下是代碼

#include?stdio.h

#include?stdlib.h

#include?time.h

int?roll_dice(void);

bool?play_game(void);

int?main(){

char?c?=?'y';

int?wintimes?=?0,losetimes?=?0;

while(c?==?'y'){

if(play_game())

wintimes++;

else

losetimes++;

printf("\nPlay?again??");

scanf("?%c",c);

//?printf("%c\n",c);

if(c=='Y')?c='y';

}

printf("Wins:?%d\tLosses:?%d\n",wintimes,losetimes);

return?0;

}

int?roll_dice(){

int?ret=rand()%6+1;

ret+=rand()%6+1;

return?ret;

}

bool?play_game(){

int?curRoundNumber?=?roll_dice();

int?winNumber;

printf("You?rolled:?%d\n",curRoundNumber);

if(curRoundNumber?==?7?||?curRoundNumber?==?11){

printf("You?win!\n");

return?true;

}

if(curRoundNumber?==?2?||?curRoundNumber?==?3?||?curRoundNumber?==?12){

printf("You?lose!\n");

return?false;

}

winNumber?=?curRoundNumber;

printf("Your?point?is?%d\n",winNumber);

while(1){

curRoundNumber?=?roll_dice();

printf("You?rolled:?%d\n",curRoundNumber);

if(curRoundNumber?==?winNumber){

printf("You?win!\n");

return?true;

}

if(curRoundNumber?==?7){

printf("You?lose!\n");

return?false;

}

}

}

本文名稱:c語言rand函數(shù)拋骰子 c語言計算骰子概率
網(wǎng)頁路徑:http://muchs.cn/article8/doscgop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、小程序開發(fā)商城網(wǎng)站、網(wǎng)站維護、網(wǎng)站改版外貿(mào)建站

廣告

聲明:本網(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)

成都網(wǎng)頁設(shè)計公司