用C语言编写一个模拟掷骰子游戏 100

有这样一种游戏:4个人(A-D),每个人有4个骰子,各自在一个筒中摇匀后停止。每个人可以看到自己此时4个骰子的点数。由A开始,根据自己骰子点数估计某个点数的总个数,报两个... 有这样一种游戏:4个人(A-D),每个人有4个骰子,各自在一个筒中摇匀后停止。每个人可以看到自己此时4个骰子的点数。由A开始,根据自己骰子点数估计某个点数的总个数,报两个数字:骰子个数和点数,如“4个3”,然后等待下家B报数;B报出的数字中,骰子个数只能大于上家;如此重复;最后当某个人不再报数而叫“停”时,4人均打开摇筒。如果个数和点数恰与叫停者的上家所报相符,则上家胜;如果不相符,则叫停者胜。如果无人叫停,则继续报数直至报出的数字为“16个6”时结束。

谢谢了
展开
 我来答
janice_xuan
2012-06-14
知道答主
回答量:5
采纳率:0%
帮助的人:5.9万
展开全部
你做好了吗?我也选了这个题目……求助中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aimpointer
推荐于2018-04-24 · TA获得超过1719个赞
知道小有建树答主
回答量:1624
采纳率:0%
帮助的人:550万
展开全部
实践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秒*/
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式