c語言隨機(jī)函數(shù)擲骰子 c語言擲骰子程序

用C語言編寫一個模擬擲骰子游戲謝謝了,大神幫忙啊

實踐1:函數(shù)編程練習(xí) 1.?dāng)S骰子游戲 編寫程序模擬擲骰子游戲。已知擲骰子游戲的游戲規(guī)則為:每個骰子有6面,這些面包含1、2、3、4、5、6個點,投兩枚骰子之后,計算點數(shù)之和。如果第一次投的點數(shù)和為7或11,則游戲者獲勝;如果第一次投的點數(shù)和為2、3或12,則游戲者輸;如果第一次投的點數(shù)和為4、5、6、8、9或10,則將這個和作為游戲者獲勝需要擲出的點數(shù),繼續(xù)投骰子,直到賺到該點數(shù)時算是游戲者獲勝。如果投擲7次仍未賺到該點數(shù),則游戲者輸。 【思考題】 將游戲規(guī)則改為:計算機(jī)想一個數(shù)作為一個骰子擲出的點數(shù)(在用戶輸入數(shù)據(jù)之前不顯示該點數(shù)),用戶從鍵盤輸入一個數(shù)作為另一個骰子擲出的點數(shù),再計算兩點數(shù)之和。其余規(guī)則相同,然后請讀者重新編寫該程序。 2.學(xué)生成績統(tǒng)計(一維數(shù)組)要求函數(shù)參數(shù)中包含一維數(shù)組。 從鍵盤輸入一個班(全班最多不超過30人)學(xué)生某門課的成績,當(dāng)輸入成績?yōu)樨?fù)值時,輸入結(jié)束,分別實現(xiàn)下列功能: (1)統(tǒng)計不及格人數(shù)并打印不及格學(xué)生名單; (2)統(tǒng)計成績在全班平均分及平均分之上的學(xué)生人數(shù),并打印這些學(xué)生的名單; (3)以直方圖方式統(tǒng)計各分?jǐn)?shù)段的學(xué)生人數(shù)及所占的百分比。形式如下: 分?jǐn)?shù)段 學(xué)生人數(shù) 圖形 60 3(10%) *** 60-69 8(…) ******** 70-79 7(…) ******* 80-89 8(…) ******** =90 4(…) **** 實踐2:結(jié)構(gòu)體編程練習(xí) 在屏幕上模擬顯示一個數(shù)字式時鐘 按如下方法定義一個時鐘結(jié)構(gòu)體類型: struct clock { int hour; int minute; int second; }; typedef struct clock CLOCK; 然后,將下列用全局變量編寫的時鐘模擬顯示程序改成用CLOCK結(jié)構(gòu)體變量類型重新編寫。已知用全局變量編寫的時鐘模擬顯示程序如下: #include stdio.h int hour, minute, second; /*全局變量定義*/ /* 函數(shù)功能:時、分、秒時間的更新 函數(shù)參數(shù):無 函數(shù)返回值:無 */ void Update(void) { second++; if (second == 60) /*若second值為60,表示已過1分鐘,則 minute值加1*/ { second = 0; minute++; } if (minute == 60) /*若minute值為60,表示已過1小時,則 hour值加1*/ { minute = 0; hour++; } if (hour == 24) /*若hour值為24,則hour的值從0開始計時*/ { hour = 0; } } /*函數(shù)功能:時、分、秒時間的顯示 函數(shù)參數(shù):無 函數(shù)返回值:無 */ void Display(void) /*用回車符'\r'控制時、分、秒顯示的位置*/ { printf("%2d:%2d:%2d\r", hour, minute, second); } /*函數(shù)功能:模擬延遲1秒的時間 函數(shù)參數(shù):無 函數(shù)返回值:無 */ void Delay(void) { long t; for (t=0; t50000000; t++) { /*循環(huán)體為空語句的循環(huán),起延時作用*/ } } main() { long i; hour = minute = second = 0; /*hour,minute,second賦初值0*/ for (i=0; i100000; i++) /*利用循環(huán)結(jié)構(gòu),控制時鐘運行的時間*/ { Update(); /*時鐘更新*/ Display(); /*時間顯示*/ Delay(); /*模擬延時1秒*/ } }

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計制作、做網(wǎng)站、門源網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、門源網(wǎng)絡(luò)營銷、門源企業(yè)策劃、門源品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供門源建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn

擲骰子的 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()為隨機(jī)數(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)建隨機(jī)數(shù)種子

while(1)

{

while(1)

{

puts("請壓分:");

scanf("%d",betscore);

if(betscore myscore)

printf("您的剩余分?jǐn)?shù)不夠,為%d", myscore);

else

break;

}

fflush(stdin); //強(qiáng)制刷新緩沖區(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;

}

c語言擲骰子代碼

#includestdio.h

#includestdlib.h

#includetime.h

int?main(void)

{

int?ai[3];??//甲的三個骰子的點數(shù)

int?bi[3];??//乙的三個骰子的點數(shù)

int?i;

srand((unsigned)time(NULL));??//播時間種子,產(chǎn)生隨機(jī)數(shù)

for?(i?=?0;?i??3;?i++)

{

ai[i]?=?rand()?%?6?+?1;??//隨機(jī)產(chǎn)生1-6的點數(shù)

bi[i]?=?rand()?%?6?+?1;

}

printf("甲的點數(shù):");

for?(i?=?0;?i3;?i++)

{

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

}

printf("\n乙的點數(shù):");

for?(i?=?0;?i3;?i++)

{

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

}

if?(ai[0]?+?ai[1]?+?ai[2]bi[0]?+?bi[1]?+?bi[2])

{

printf("\n\n甲獲勝.\n");

}

else{

printf("\n\n乙獲勝.\n");

}

return?0;

}

c語言編程,擲骰子游戲,擲三個骰子,我與電腦輪流坐莊,輸了換莊,游戲結(jié)束詢問是否結(jié)束,如果結(jié)束?

擲骰子比大小,用隨機(jī)數(shù)就可以,但是莊家的規(guī)則是咋樣的沒交代清楚(這里假定莊家的優(yōu)勢在于點數(shù)一樣大時,莊家贏):

#include "stdafx.h"

#include iostream

#include time.h

using namespace std;

int main()

{

int Me, Computer,n=1,MC=1;

int meWin = 0, nGames = 0;

srand((unsigned int)time(NULL));

while (n)

{

cout "開始擲骰子(輸入1開始,輸入0結(jié)束):" endl;

cin n;

Me = rand() % 6 + 1;

Computer= rand() % 6 + 1;

nGames++;

if (MC)

{

cout "你做莊:" endl;

cout "你的點數(shù):" Me " 電腦的點數(shù):" Computer endl;

if (Me = Computer)

{

meWin++;

cout "恭喜你贏了!" endl;

}

else

{

MC = 0;

cout "哦,你輸了!" endl;

}

}

else

{

cout "電腦做莊:" endl;

cout "你的點數(shù):" Me " 電腦的點數(shù):" Computer endl;

if (Computer = Me)

cout "哦,你輸了!" endl;

else

{

meWin++;

MC = 1;

cout "恭喜你贏了!" endl;

}

}

}

cout "你贏的次數(shù):" meWin " 輸?shù)拇螖?shù):" nGames - meWin " 勝率:";

float p = (float)meWin / nGames;

int q = p * 100;

printf("%2d%% \n", q);

system("pause");

return 0;

}

當(dāng)前名稱:c語言隨機(jī)函數(shù)擲骰子 c語言擲骰子程序
文章源于:http://muchs.cn/article2/ddcgoic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站收錄、動態(tài)網(wǎng)站、微信小程序、外貿(mào)網(wǎng)站建設(shè)、App開發(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)

商城網(wǎng)站建設(shè)