當前位置:首頁 » 編程語言 » c語言怎麼扔色子
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼扔色子

發布時間: 2022-06-01 15:04:25

❶ 編寫c語言擲骰子的代碼

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

int arraySum(const int * const a, int n) {
int i = 0, sum = 0;
for (; i < n; i++) {
sum += a[i];
}
return sum;
}

int main(int argc, char *argv[]) {

int i = 0;
int a[3] = {0};
int sum = 0;

srand((int)time(0));

for (; i < 3; i++) {
a[i] = (rand() % 6)+1;
}
printf("%d,%d,%d\n", a[0],a[1],a[2]);

sum = arraySum(a, sizeof(a)/sizeof(a[0]));
// 3, 4, 5, 6, 7, 8, 9,10, 小
// 11,12,13,14,15,16,17,18 大
if (sum < 11) {
printf("小\n");
} else {
printf("大\n");
}

return 0;
}

❷ c語言「扔骰子」代碼

#include "stdio.h"
#include "ctime.h"
void main(){
int a=1,b;
srand((unsigned int)time(0));
while(a)
{
b=rand()%6; \\記錄隨機數
if(!b) b=6; \\隨機到0,即為擲出6
printf("You get %d this time!\n",); \\顯示擲出的骰子數
printf("Try again? 1 means yes, 0 means no\n\n"); \\詢問是否繼續擲骰子
scanf(%d,&a);
}
}

❸ 編寫程序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語言代碼關於「擲骰子」的 急求!!!!

取水雞數 1到6

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
void main()
{
int i,j,y[10];
int m=2; // 如果是 2 粒骰子 (你可以改1,2,3,4,5,6。。。10)
srand((unsigned)time(NULL));
for (j=0;j<10;j++){ // 擲 10 次
for (i=0;i<m;i++){
y[i] = rand() % 6+ 1;
printf("%d ",y[i]);
}
printf("\n");
}

}

❺ C語言問題,求助。擲骰子。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intfunc(){
inta,b;
a=rand()%6+1;
b=rand()%6+1;
if(a==b&&a==6){
return8;
}elseif(a==b){
return7;
}else{
return(a<b?a:b);
}
}
voidmain(){
intsumA,sumB,i;
sumA=sumB=0;
srand(time(0));
for(i=0;i<10;i++){
sumA+=func();
sumB+=func();
if(i==4){
if(sumA>1.3*sumB){
printf("A:%d B:%d 5局A獲勝 ",sumA,sumB);
return;
}elseif(sumB>1.3*sumA){
printf("A:%d B:%d 5局B獲勝 ",sumA,sumB);
return;
}
}
}
if(sumA>sumB){
printf("A:%d B:%d 10局A獲勝 ",sumA,sumB);
}elseif(sumB>sumA){
printf("A:%d B:%d 10局B獲勝 ",sumA,sumB);
}else{
printf("A:%d B:%d 平局 ",sumA,sumB);
}
return;
}

❻ 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>

#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語言擲骰子代碼

#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語言演算法,或代碼...

是「擲骰子」吧?!!這是擲骰子的程序:題目是這樣子的:編寫一個模擬擲骰子的程序,每個骰子從1-6,所以兩個骰子組合數從2-12,隨機投擲10000次,列印所有組合出現的概率!
#include<iostream.h>
#include<time.h>
#include<stdlib.h>
void
main()
{
int
i=0;
float
a[13]={0};
srand((unsigned)time(null));
int
num1=0,num2=0;
for(i=1;i<=10000;i++)
{
num1=rand()%6+1;
num2=rand()%6+1;
a[num1+num2]++;
a[0]++;
}
for(i=2;i<=12;i++)
{
cout<<i<<'
'<<'
';
cout<<(a[i]/a[0])*100<<'%';
cout<<endl;
}
}

❿ 擲骰子的 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()為隨機數,對6取余結果為0~5,需要+1修正為1~6
//printf("結果:%-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("您的初始分數為%d\n",myscore);
srand((int)time(0)); //用時間創建隨機數種子
while(1)
{
while(1)
{
puts("請壓分:");
scanf("%d",&betscore);
if(betscore > myscore)
printf("您的剩餘分數不夠,為%d", myscore);
else
break;
}
fflush(stdin); //強制刷新緩沖區,防止上次輸出影響
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=(a>b)?a:b;相當於if(a>b)x=a;else x=b;
betresult = bet();
myscore = (betresult == betflag)?(myscore+2*betscore):(myscore-betscore);
strcpy(sresult, ((betresult!=0)?"大":"小"));
printf("結果為%s,您當前的分數為%d\n",sresult, myscore);
}
return 0;
}