當前位置:首頁 » 編程語言 » C語言搖骰子游戲報告
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言搖骰子游戲報告

發布時間: 2022-12-26 10:58:46

Ⅰ 編寫程序c語言 模擬擲骰子游戲100次,編程統計並輸出骰子的6個面各自出現的次數。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

main()
{
intface;//儲存每次色子的點數
introll;//投擲色子的次數(循環變數)
intfrequency[7]={0};//記錄色子每個點數出現的次數

srand(time(NULL));//用系統時間來初始化系統隨機數的種子值

//用循環產生100次隨機數,並記錄每個點數出現的次數
for(roll=1;roll<=100;roll++)
{
face=rand()%6+1;
frequency[face]++;
}

printf("%4s%17s ","Face","Frequency");

//輸出每個點數出現的次數
for(face=1;face<=6;face++)
{
printf("%4d%17d ",face,frequency[face]);
}

system("pause");
}

Ⅱ C語言 擲100骰子,統計各點數出現的次數

用隨機數來模擬搖骰子

#include<stdio.h>
#include<time.h>/*用到了time函數*/

#defineLEN100/*隨機數個數*/
#defineMIN1/*隨機數最小值*/
#defineMAX6/*隨機數最大值*/

intmain(void){
inti,randArr[LEN],count[6]={0};

srand((unsigned)time(NULL));/*用時間做種,每次產生隨機數不一樣*/
for(i=0;i<LEN;i++){
randArr[i]=rand()%(MAX-MIN+1)+MIN;/*產生MIN~MAX的隨機數*/
count[randArr[i]-1]++;
}

printf("搖%d次骰子的點數結果: ",LEN);
for(i=0;i<LEN;i++){
printf("%d ",randArr[i]);
if(i+1%5==0)/*每輸出5個數換一行*/
putchar(' ');
}
putchar(' ');

puts("各點數出現次數統計:");
for(i=0;i<6;i++)
printf("%d點:%d ",i+1,count[i]);
putchar(' ');

getch();/*屏幕暫留*/
return0;
}

運行結果

Ⅲ 一個c語言的問題:模擬擲骰子的游戲

一、涓字的拼音是juān,只有一個讀音。二、涓字的偏旁是氵,是左右結構。三、涓字的基本釋義:細小的流水:涓埃。涓滴。四、涓字的筆順是點, 點, 提, 豎, 橫折, 橫, 豎, 橫折鉤, 橫, 橫。(3)C語言搖骰子游戲報告擴展閱讀相關組詞 涓涓 涓埃 涓滴 涓壤 涓微 涓彭 涓_ 涓露 涓細 酈涓 涓選 末涓 塵涓 涓澮一、涓壤[juān rǎng] 猶涓埃。喻微小。對同義詞,只有仔細地辯證,才能區分它們之間涓壤的差異。二、涓露[juān lù] 點滴露水。喻微小的事物。生活可以很自在,並非每天需要大魚大肉,我們的快樂和享受,可以來自涓露。三、酈涓[lì juān] 黃帝八世孫,祖先是黃帝三妃彤魚氏所生的次子夷彭。四、塵涓[chén juān] 微塵細流。猶言涓埃。喻微薄(之力)。父親這一點塵涓的工資,是很難維持一家人的生活。五、微涓[wēi juān] 極小的水流。比喻微小的功績。我做的事情就如微涓一般,所以請別太誇我了。

Ⅳ C語言編寫程序,模擬擲(兩個)骰子的游戲。求解

#include <stdio.h>
#include <stdlib.h>
#include<time.h>
#define bool int
#define FALSE 0
#define TRUE 1
int roll_dice();
void if_again(int,int);
void new_deal(int,int,int);
bool play_game();
int main()
{
play_game();
return 0;
}
int roll_dice()
{
int a=0,b=0;
srand((unsigned)time(NULL));
a=rand()%6+1;
// printf("\n a is :%d",a);
b=rand()%6+1;
//printf("\n b is :%d\n",b);
return a+b;
}
void if_again(int win,int lose)
{
printf("\nPlay again ?");
char ch='a';
scanf("%c",&ch);
if(ch=='y')
{
system("cls");
play_game();
}
if(ch=='n')
{
printf("\nWins: %d\tLosess: %d",win,lose);
return;
}
}
void new_deal(int result,int win,int lose)
{
int once_again;
once_again= roll_dice();
printf("You rolled: %d\n",once_again);
if( once_again==result )
{
printf("You win!\n");
win++;
if_again(win,lose);
}
else
{
once_again=roll_dice();
printf("You rolled: %d\n ",once_again);
if(once_again==7)
{
printf("You lose!\n");
lose++;
if_again(win,lose);
}else
new_deal(result,win,lose);
}
}
bool play_game()
{
int result,win=0,lose=0;
result=roll_dice();
printf("You rolled: %d\n",result);
if(result==7||result==11)
{
printf("You win!");
win++;
if_again(win,lose);
printf("\n");
}
else if(result==2||result==3||result==12)
{
printf("You lose!");
lose++;
if_again(win,lose);
printf("\n");
}
else
{
new_deal(result,win,lose);
}
return 0;
}

Ⅳ 求擲骰子游戲C語言代碼(我初學C,代碼簡單為佳)

#include "stdio.h"
#include "stdlib.h"
#include "time.h"

enum {CONTINUE,WON,LOST};

void main()
{
int status=CONTINUE;
int i=0,j=0,add,k;
srand((unsigned)time(NULL));
while(i==0)
i=rand()%6;
printf("1: %d\n",i);
while(j==0)
j=rand()&6;
printf("2: %d\n",j);
add=i+j;
if(add==11 || add==7)
status=WON;
if(add==2 || add==3 || add==12)
status=LOST;
if(status==WON)
printf("You Win!\n");
else if(status==LOST)
printf("YOU LOST!\n");
else
{
for(k=1;k<=7;k++)
{
i=0;
j=0;
printf("***************%d****************\n",k);
while(i==0)
i=rand()%6;
printf("1: %d\n",i);
while(j==0)
j=rand()%6;
printf("2: %d\n",j);
if((i+j)==add)
{
status=WON;
break;
}
}
if(status==WON)
printf("YOU WIN!\n");
else
printf("YOU LOST!\n");
}
getch();
}

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

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

#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結束):" << endl;

cin >> n;

Me = rand() % 6 + 1;

Computer= rand() % 6 + 1;

nGames++;

if (MC)

{

cout << "你做莊:" << endl;

cout << "你的點數:" << Me << " 電腦的點數:" << Computer << endl;

if (Me >= Computer)

{

meWin++;

cout << "恭喜你贏了!" << endl;

}

else

{

MC = 0;

cout << "哦,你輸了!" << endl;

}

}

else

{

cout << "電腦做莊:" << endl;

cout << "你的點數:" << Me << " 電腦的點數:" << Computer << endl;

if (Computer >= Me)

cout << "哦,你輸了!" << endl;

else

{

meWin++;

MC = 1;

cout << "恭喜你贏了!" << endl;

}

}

}


cout << "你贏的次數:" << meWin << " 輸的次數:" << nGames - meWin << " 勝率:";

float p = (float)meWin / nGames;

int q = p * 100;

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

system("pause");

return 0;

}

Ⅶ c語言擲骰子代碼

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain(void)
{
intai[3];//甲的三個骰子的點數
intbi[3];//乙的三個骰子的點數
inti;
srand((unsigned)time(NULL));//播時間種子,產生隨機數
for(i=0;i<3;i++)
{
ai[i]=rand()%6+1;//隨機產生1-6的點數
bi[i]=rand()%6+1;
}
printf("甲的點數:");
for(i=0;i<3;i++)
{
printf("%d",ai[i]);
}

printf(" 乙的點數:");
for(i=0;i<3;i++)
{
printf("%d",bi[i]);
}

if(ai[0]+ai[1]+ai[2]>bi[0]+bi[1]+bi[2])
{
printf(" 甲獲勝. ");
}
else{
printf(" 乙獲勝. ");
}
return0;
}

Ⅷ 用C語言編程骰子游戲

#include<stdio.h>
#include<string.h>
int
main()
{
int
a[6]={1,2,3,4,5,6},i,n,p,empty;
char
b[10];
//printf("請輸入命令條數:\n");
scanf("%d",&n);
//printf("請輸入命令:\n");
for(i=1;i<=n;i++)
{
scanf("%s",b);
p=strcmp(b,"north");
if(p==0)
{
empty=a[0];
a[0]=a[4];
a[4]=a[5];
a[5]=a[1];
a[1]=empty;
continue;
}
p=strcmp(b,"south");
if(p==0)
{
empty=a[0];
a[0]=a[1];
a[1]=a[5];
a[5]=a[4];
a[4]=empty;
continue;
}
p=strcmp(b,"west");
if(p==0)
{
empty=a[0];
a[0]=a[3];
a[3]=a[5];
a[5]=a[2];
a[2]=empty;
continue;
}
p=strcmp(b,"east");
if(p==0)
{
empty=a[0];
a[0]=a[2];
a[2]=a[5];
a[5]=a[3];
a[3]=empty;
}
}
//printf("游戲結束,骰子朝上的字數為:\n");
printf("%d",a[0]);
return
0;
}

Ⅸ C語言中關於擲骰子和賭注的代碼編寫

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#defineMONEY200

intget_num(void)
{
srand(clock());

return1+rand()%6;
}

intwin(intme_num,intcomputer_num,intn,int*me,int*computer)
{
if(me_num-computer_num>0)
{
printf("太厲害了,您這把贏了呢! ");
printf("您的財富+%d ",n*2);
*me+=n*2;
printf("計算機的財富-%d ",n);
*computer-=n;

printf("您當前的財富為%d 計算機當前的財富為%d ",*me,*computer);

if(*computer<0)
{
printf("太厲害了、太厲害了,計算機被你打敗了! ");
return-1;
}

return0;
}
elseif(me_num-computer_num<0)
{
printf("不好,您輸了! ");
printf("您的財富-%d ",n);
*me-=n;
printf("計算機的財富+%d ",n*2);
*computer+=n*2;

printf("您當前的財富為%d 計算機當前財富為%d ",*me,*computer);
if(*me<0)
{
printf("我們非常遺憾地通知您,由於您的帳戶欠費,我們做了一個艱難的決定,把您趕出賭場,大賭傷身,小賭宜情,回家好好過日子吧! 您被趕出了賭場! ");
return-1;
}

return0;
}
else
{
printf("不分上下,打成平手,讓我們再來決戰一次吧! ");
printf("您的財富+%d ",n);
*me+=n;
printf("計算機的財富+%d ",n);
*computer+=n;

printf("您當前的財富為%d 計算機當前財富為%d ",*me,*computer);

return0;
}
}

intmain(intargc,char**argv)
{
intcomputer=MONEY;
intme=MONEY;
intme_n=0,computer_n=0;
intme_num=0,computer_num=0;
into;

printf("歡迎來到擲骰子游戲! 現在是人機對戰模式,您和計算機現在都擁有%d財富! ",MONEY);
printf("游戲規則: 按1鍵進行下注,不設置則默認按上次下的注計算 按0鍵進行擲骰子 按9鍵查看幫助 按2鍵查看自己的財富 按3鍵查看計算機的財富 按4鍵退出遊戲 ");

while(1)
{
printf("輸入操作:");
scanf("%d",&o);

switch(o)
{
case0:
if(me_n==0)
{
printf("您還沒有下注,請先下注! ");
break;
}

printf("開始擲骰子... ");
me_num=get_num();
printf("您擲得的骰子為%d ",me_num);

printf("計算機開始擲骰子... ");
computer_num=get_num();
printf("計算機擲得的骰子為%d ",computer_num);

if(win(me_num,computer_num,me_n,&me,&computer)==-1)
gotoend;
break;

case1:
while(1)
{
printf("請輸入您的賭金:");
if(scanf("%d",&me_n)!=1)
{
printf("輸入的賭金出錯,請重新輸入! ");
continue;
}

if(me_n>me)
{
printf("您的賭金不夠,請重新輸入! ");
continue;
}

if(me_n>computer)
{
printf("啊哦,計算機的財富沒有這么多哦,您太厲害了,請輸下一個計算機可承受的注吧! ");
continue;
}

break;
}
break;

case2:
printf("您當前的財富為:%d ",me);
break;

case3:
printf("計算機當前的財富為:%d ",computer);
break;

case4:
gotoend;
break;

case9:
printf("游戲規則: 按1鍵進行下注,不設置則默認按上次下的注計算 按0鍵進行擲骰子 按9鍵查看幫助 按2鍵查看自己的財富 按3鍵查看計算機的財富 按4鍵退出遊戲 ");
break;

default:
printf(" 錯誤的操作,請看幫忙! ");
}
}

end:
printf("游戲結束! ");

return0;
}

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

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