Dacrtanx 2021-07-01 15:21 采纳率: 100%
浏览 66
已采纳

c++掷色子问题求问

两人玩骰子,游戏规则如下:

  1. 两人轮流掷骰子,每次掷两个,每人最多掷 10 次。
  2. 将每人每次的分值累加计分。
  3. 当两个骰子点数都为 6 时,计 8 分;当两个点数相等且不为两个 6 时,计 7 分;当两个点数 不一样时,计其中点数较小的骰子的点数。
  4. 结束条件:当双方都掷 10 次或经过 5 次后一方累计分数多出另一方的 30%及以上。最后显 示双方分数并判定优胜者。
  • 写回答

2条回答 默认 最新

  • 关注
    #include <bits/stdc++.h>
    using namespace std;
    
    int func(){
        int a,b;
        a=rand()%6+1;
        b=rand()%6+1;
        if(a==b&&a==6){
            return 8;
        }else if(a==b){
            return 7;
        }else{
            return (a<b?a:b);
        }
    }
    int  main(){
        int sumA,sumB,i;
        sumA=sumB=0;
        srand(time(0));
    
        for(i=0;i<10;i++){
            sumA+=func();
            sumB+=func();
            if(i==4){
                if(sumA>1.3*sumB){
                   cout<<"A:"<<sumA<<"B:"<<sumB<<" "<<"5局A获胜"<<endl;
                    return 0;
                }else if(sumB>1.3*sumA){
                    cout<<"A:"<<sumA<<"B:"<<sumB<<" "<<"5局B获胜"<<endl;
                    return 0;
                }
            }
        }
        if(sumA>sumB){
            cout<<"A:"<<sumA<<"B:"<<sumB<<" "<<"10局A获胜"<<endl;
        }else if(sumB>sumA){
            cout<<"A:"<<sumA<<"B:"<<sumB<<" "<<"10局B获胜"<<endl;
        }else{
            cout<<"A:"<<sumA<<"B:"<<sumB<<" "<<"平局"<<endl;
    
        }
        return 0;
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题