#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é)果:
補充下樓上的
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]
}
#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("您的初始分?jǐn)?shù)為%d\n",myscore);
srand((int)time(0)); //用時間創(chuàng)建隨機數(shù)種子
while(1)
{
while(1)
{
puts("請壓分:");
scanf("%d",betscore);
if(betscore myscore)
printf("您的剩余分?jǐn)?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)前的分?jǐn)?shù)為%d\n",sresult, myscore);
}
return 0;
}
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()函數(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語言不支持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://jinyejixie.com/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)