当前位置:首页 » 编程语言 » 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秒*/ } }