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条)

报告相同问题?

悬赏问题

  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因