首页 > 学院 > 开发设计 > 正文

掷骰子

2019-11-17 05:29:32
字体:
来源:转载
供稿:网友
㈠.rand()函数产生0到32767范围内的整数。㈡.有且仅有5种规则立方体的所有面的外形和大小都相同(四、六、八、十二、二十面)。㈢.算法:
   ⒈把随机数除以6(面数)取余数,余数在0到5间的整数;
   ⒉余数加一,得1到6的整数;
   ⒊因为骰子有不同的面数,因此把第一步的面数用变量sides代替。㈣.源程序:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(void)
{
int rollem(int);
int roll_n_dice(int,int);int dice,roll,sides;     /*骰数个数,总点数,一个骰子的面数*/srand((unsigned int)time(0));
PRintf("输入骰子的面数(输入0退出):");
while(scanf("%d",&sides)==1&&sides>0)
{
printf("输入骰子的个数:");
scanf("%d",&dice);
roll=roll_n_dice(dice,sides);
printf("使用%d个%d面骰子掷%d点。",dice,sides,roll);
printf("/n输入骰子的面数(输入0退出):");
}
return 0;
}int rollem(int sides)
{
int roll;roll=rand()%sides+1;
return roll;
}int roll_n_dice(int dice,int sides)
{
int d;
int total=0;if(sides<2)
 {
 printf("至少两个面!!!/n");
 return -2;
 }
if(dice<1)
 {
 printf("至少一个骰子!!!/n");
 return -1;
 }
for(d=0;d<dice;d++)  total+=rollem(sides);
return total;
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表