c语言掷骰子函数 掷骰子c语言代码

c语言掷骰子代码

#includestdio.h

10年积累的成都做网站、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有黄浦免费网站建设让你可以放心的选择与我们合作。

#includestdlib.h

#includetime.h

int main(void)

{

int ai[3];  //甲的三个骰子的点数

int bi[3];  //乙的三个骰子的点数

int i;

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; i3; i++)

{

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

}

printf("\n乙的点数:");

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语言编写一个模拟掷骰子游戏谢谢了,大神帮忙啊

实践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; t50000000; t++) { /*循环体为空语句的循环,起延时作用*/ } } main() { long i; hour = minute = second = 0; /*hour,minute,second赋初值0*/ for (i=0; i100000; i++) /*利用循环结构,控制时钟运行的时间*/ { Update(); /*时钟更新*/ Display(); /*时间显示*/ Delay(); /*模拟延时1秒*/ } }

C语言 掷100骰子,统计各点数出现的次数

用随机数来模拟摇骰子

#include stdio.h

#include time.h /*用到了time函数*/

#define LEN 100 /*随机数个数*/

#define MIN 1 /*随机数最小值*/

#define MAX 6 /*随机数最大值*/

int main(void) {

int i,randArr[LEN],count[6]={0};

srand((unsigned) time(NULL)); /*用时间做种,每次产生随机数不一样*/

for (i=0; iLEN; i++) {

randArr[i] = rand() % (MAX-MIN+1) + MIN; /*产生MIN~MAX的随机数*/

count[randArr[i]-1] ++;

}

printf ("摇%d次骰子的点数结果:\n",LEN);

for (i=0; iLEN; i++) {

printf ("%d\t",randArr[i]);

if (i+1 % 5 == 0) /*每输出5个数换一行*/

putchar ('\n');

}

putchar ('\n');

puts ("各点数出现次数统计:");

for (i=0; i6; i++)

printf ("%d点:%d\n",i+1,count[i]);

putchar ('\n');

getch (); /*屏幕暂留*/

return 0;

}

运行结果

C语言中关于掷骰子和赌注的代码编写

#include stdio.h

#include stdlib.h

#include time.h

#define MONEY 200

int get_num(void)

{

srand(clock());

return 1+rand()%6;

}

int win(int me_num,int computer_num,int n,int *me,int *computer)

{

if(me_num-computer_num  0)

{

printf("太厉害了,您这把赢了呢!\n");

printf("您的财富 +%d\n",n*2);

*me+=n*2;

printf("计算机的财富 -%d\n",n);

*computer-=n;

printf("您当前的财富为 %d\n计算机当前的财富为 %d\n",*me,*computer);

if(*computer  0)

{

printf("太厉害了、太厉害了,计算机被你打败了!\n");

return -1;

}

return 0;

}

else if(me_num-computer_num  0)

{

printf("不好,您输了!\n");

printf("您的财富 -%d\n",n);

*me-=n;

printf("计算机的财富 +%d\n",n*2);

*computer+=n*2;

printf("您当前的财富为 %d\n计算机当前财富为 %d\n",*me,*computer);

if(*me  0)

{

printf("我们非常遗憾地通知您,由于您的帐户欠费,我们做了一个艰难的决定,把您赶出赌场,大赌伤身,小赌宜情,回家好好过日子吧!\n您被赶出了赌场!\n");

return -1;

}

return 0;

}

else

{

printf("不分上下,打成平手,让我们再来决战一次吧!\n");

printf("您的财富 +%d\n",n);

*me+=n;

printf("计算机的财富 +%d\n",n);

*computer+=n;

printf("您当前的财富为 %d\n计算机当前财富为 %d\n",*me,*computer);

return 0;

}

}

int main(int argc,char **argv)

{

int computer=MONEY;

int me=MONEY;

int me_n=0,computer_n=0;

int me_num=0,computer_num=0;

int o;

printf("欢迎来到掷骰子游戏!\n现在是人机对战模式,您和计算机现在都拥有%d财富!\n",MONEY);

printf("游戏规则:\n按1键进行下注,不设置则默认按上次下的注计算\n按0键进行掷骰子\n按9键查看帮助\n按2键查看自己的财富\n按3键查看计算机的财富\n按4键退出游戏\n");

while(1)

{

printf("输入操作:");

scanf("%d",o);

switch(o)

{

case 0:

if(me_n == 0)

{

printf("您还没有下注,请先下注!\n");

break;

}

printf("开始掷骰子 . . .\n");

me_num=get_num();

printf("您掷得的骰子为 %d\n",me_num);

printf("计算机开始掷骰子 . . .\n");

computer_num=get_num();

printf("计算机掷得的骰子为 %d\n",computer_num);

if(win(me_num,computer_num,me_n,me,computer) == -1)

goto end;

break;

case 1:

while(1)

{

printf("请输入您的赌金:");

if(scanf("%d",me_n) != 1)

{

printf("输入的赌金出错,请重新输入!\n");

continue;

}

if(me_n  me)

{

printf("您的赌金不够,请重新输入!\n");

continue;

}

if(me_n  computer)

{

printf("啊哦,计算机的财富没有这么多哦,您太厉害了,请输下一个计算机可承受的注吧!\n");

continue;

}

break;

}

break;

case 2:

printf("您当前的财富为:%d\n",me);

break;

case 3:

printf("计算机当前的财富为: %d\n",computer);

break;

case 4:

goto end;

break;

case 9:

printf("游戏规则:\n按1键进行下注,不设置则默认按上次下的注计算\n按0键进行掷骰子\n按9键查看帮助\n按2键查看自己的财富\n按3键查看计算机的财富\n按4键退出游戏\n");

break;

default:

printf("\n错误的操作,请看帮忙!\n");

}

}

end:

printf("游戏结束!\n");

return 0;

}

掷骰子的 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=(ab)?a:b;相当于if(ab)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;

}

求"掷色子"的C语言算法,或代码...

是“掷骰子”吧?!!这是掷骰子的程序:题目是这样子的:编写一个模拟掷骰子的程序,每个骰子从1-6,所以两个骰子组合数从2-12,随机投掷10000次,打印所有组合出现的概率!

#includeiostream.h

#includetime.h

#includestdlib.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++)

{

couti'

''

';

cout(a[i]/a[0])*100'%';

coutendl;

}

}


网页题目:c语言掷骰子函数 掷骰子c语言代码
链接分享:http://azwzsj.com/article/hgcipp.html