首页 > 其他分享 >掷骰子

掷骰子

时间:2023-05-08 23:45:12浏览次数:36  
标签:b2 int 掷骰子 b1 随机数 点数 include

1.问题描述

骰子是一个有六个面的正方体,每个面分别印有1~6之间的小圆点代表点数。假设这个游戏的规则是:两个人轮流掷骰子6次,并将每次投掷的点数累加起来。点数多者获胜;点数相同为平局。

要求编写程序模拟这个游戏的过程,并求出玩100盘之后谁才是最终的获胜者。

2.问题分析

先必须搞一个随机数,我用的是

#include<stdlib.h>
srand((unsigned int)(time(NULL)));

这个随机数是完全随机的,而且会改变。不要忘记加头文件

要得到这个随机数除以6的余数  就是用rand()%6,这算出来的数是0~5  ,然后加1,就是rand()%6+1

然后需要用到for循环 记录每个人点数的和

再定义两个变量,记录获胜的局数

3.程序

#include<iostream>
#include<stdlib.h>//注意头文件不要忘
using namespace std;
int main()
{
    srand((unsigned int)(time(NULL)));//根据时间随机生成随机数
    int a, b, a1, a2, b1, b2;//a,b是两个人
    b1 = b2 = 0;//给这个每个人获胜的局数 先初始化
    for (a = 1; a <= 100; a++)//这是一百局
    {
        a1 = a2 = 0;
        for (b = 1; b <= 6; b++)//这是一局中两个人掷骰子的点数
        {
            a1 = a1 + rand()%6 + 1;
            a2 = a2 + rand()%6 + 1;
        }
        if (a1 > a2)
            b1++;//b1加一分
        else
            if (a1 < a2)
                b2++;//b2加一分
    }
    if (b1 > b2)//这是比总数了
        cout << "a" << endl;
    else if (b1 < b2)
        cout << "b" << endl;
    else cout << "a and b" << endl;//如果相同,就算平局
    return 0;
}

 

标签:b2,int,掷骰子,b1,随机数,点数,include
From: https://www.cnblogs.com/lllyclh/p/17383078.html

相关文章

  • 模拟掷骰子
    #一个有趣的元组应用案例是使用元组来模拟掷骰子游戏。在这个游戏中,玩家掷两个骰子并将它们的点数相加。#如果点数为985,则玩家A胜利;如果点数为211,则玩家B胜利;如果点数为其他数字,则玩家继续掷骰子。#下面是一个使用元组来模拟掷骰子游戏的示例代码:importrandomdefroll_dice():......
  • 1223. 掷骰子模拟
    题目链接:1223.掷骰子模拟方法:回溯+记忆化搜索解题思路回溯要点参数列表根据题目中的操作确定在递归中需要用到的上一层的某个变量或性质。递归边界即递归的最底层,确定其返回值。记忆化搜索由于在递归中会重复计算某一状态的值,那么我们在第一次计算出来后将其保存......
  • 1223. 掷骰子模拟 (Hard)
    问题描述1223.掷骰子模拟(Hard)有一个骰子模拟器会每次投掷的时候生成一个1到6的随机数。不过我们在使用它时有个约束,就是使得投掷骰子时,连续掷出数字i的次数......
  • 《上帝掷骰子吗》总结
    目录总结波粒大战的三个节点经典物理学的“两朵乌云”大统一理论总结简单说,书是围绕“光是波还是粒子”之争展开的物理学科普。光,是我们每个人见得最多的东西。自古就被......