柠(♡˙︶˙♡)檬 2022-05-15 21:22 采纳率: 100%
浏览 27
已结题

掷骰子问题,总是运行相同的结果

一盘游戏中,两人轮流掷骰子5次,并将每次掷出的点数相加,5次之后,累计点数较大者获胜,点数相同则为平局,案例要求通过编程算出50盘之后的胜利者(50盘中赢得盘数最多的,即最终胜利者)。

#include<stdio.h>
#include<stdlib.h>   //包含rand()函数     rand()产生随机数,srand()产生随机种子
#include<time.h>     //包含time()函数
int main()
{
    int a = 0;
    int b = 0;
    srand(time(0));
    int Acount = 0;
    int Bcount = 0;
    int acount = 0;
    int bcount = 0;
    for (int i = 0; i < 50; ++i)
    {
        for (int i = 0; i < 5; ++i)
        {
            a = rand() % 5 + 1;
            a = rand() % 5 + 1;
            if (a > b)
            {
                acount += 1;
            }
            else if (a < b)
            {
                bcount += 1;
            }
            else if (a == b)
            {
                acount += 1;
                bcount += 1;
            }
        }
        if (acount > bcount)
        {
            Acount += 1;
        }
        else if (acount < bcount)
        {
            Bcount += 1;
        }
        else if (acount == bcount)
        {
            Acount += 1;
            Bcount += 1;
        }
    }
    if (Acount > Bcount)
    {
        printf("%d\n", Acount);
        printf("玩家一胜出\n");
    }
    else if (Acount < Bcount)
    {
        printf("%d\n", Bcount);
        printf("玩家二胜出\n");
    }
    else if (Acount == Bcount)
    {
        printf("玩家一和玩家二平局\n");
    }
    system("pause");
    return 0;
}

img

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-05-15 22:05
    关注

    第18行 a = rand() % 5 + 1; 这里应该是 : b = rand() % 5 + 1;

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

报告相同问题?

问题事件

  • 系统已结题 5月24日
  • 已采纳回答 5月16日
  • 创建了问题 5月15日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分