论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

掷骰子

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:44:16

㈠.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;
}

视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058