如何编程骰子
A. C++编程。掷骰子问题。
先随机出1数字出现的位置,这个好办吧,6肯定是对面
再随机出2出现的位置,一个死循环,如果不是1 6出现的位置跳出死循环
判断是否是1 6的位置也不难,你随机出1的位置了,6的位置出现
用一个数组a[6]标记123456出现的位置,数组的下标是0~5标记123456
而数组的值标记出现的位置,如随机出1出现的位置是上,那么赋值为0,那么6也就是a[5]就赋值1表示下
这样判断第二个随机出的数值是否是0 1,你这样不就可以做了?
B. 用python编程写程序:两个人分别投一个骰子,点数高的赢
摘要 python掷骰子
C. 用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;
}
D. 编写程序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");
}
E. 掷骰子求概率,怎么编程序
您好,任意一个骰子得4的概率是1/6,不得4的概率是5/6.所以,这是个“二项分布”问题.
C(20,5) x (1/6)^5 x [1-(1/6)]^(20-5)
= 15504 x (1/6)^5 x (5/6)^15
= 0.1294.
每次掷骰子都是一次独立事件,彼此互不影响,投掷10次是另一个独立事件,投掷10次出现五次落在1-50之间另外五次落在51-100之间的概率最大,而你不能用已得结果推测下面的结果,因为它们彼此互不影响。就好比抽签问题,如果后面抽签的人不知道前面人抽的结果那么是公平的,每个人都是1/n,如果知道结果,那后面概率就变了。
F. 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;
}
G. java如何编写骰子程序,急!
import java.util.Random;
public class T1227 {
public static void main(String[] args) {
Random r = new Random();
int num = 0;
while(true){
num = r.nextInt(7);
if(num!=0)break;
}
System.out.println("点数为:"+num);
}
}
H. 用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秒*/ } }
I. 如何用java实现掷骰子
package me.flyshow.test;
public class Test {
public static void main(String[] argv) {
int[] result = new int[11];
for (int i = 0; i < 5000; i++) {
int a = (int) (Math.random() * 6 + 1);
int b = (int) (Math.random() * 6 + 1);
int sum = a + b;
switch (sum) {
case 2:
result[0]++;
break;
case 3:
result[1]++;
break;
case 4:
result[2]++;
break;
case 5:
result[3]++;
break;
case 6:
result[4]++;
break;
case 7:
result[5]++;
break;
case 8:
result[6]++;
break;
case 9:
result[7]++;
break;
case 10:
result[8]++;
break;
case 11:
result[9]++;
break;
case 12:
result[10]++;
break;
default:
break;
}
}
for (int n = 0; n < 11; n++) {
System.out.println((n + 2) + "出现了" + result[n] + "次");