• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

7-2 三个骰子比大小

武飞扬头像
请回答include
帮助1

骰子(tóu zi),又称色子(shǎi zi),是中国传统民间娱乐用来投掷的博具,早在战国时期就有,通常作为桌上游戏的小道具,最常见的骰子是六面骰,它是一颗正立方体,上面分别有一到六个孔(或数字),其相对两面之数字和必为七。中国的骰子习惯在一点和四点漆上红色。骰子是容易制作和取得的乱数产生器。

学新通

现有一种三个骰子比大小的玩法,请你写一段程序来判断两个人的胜负。

基本规则:一共三颗骰子,AB两人各摇一次,谁大谁赢。相同则打平。

大小的规则如下:

1、如果三个骰子的点数完全一样,比如3个1,一定比三个骰子不完全一样的大;如果同样都是三个骰子的点数完全一样,则点数大的获胜。比如3个2胜过3个1;

2、三个骰子不完全一样的点数比较规则为,当总点数(三个骰子的点数之和)小于等于10时,点数小的胜过点数大的;当总点数大于等于11时,点数大的胜过点数小的;当小于等于10的点数与大于等于11的点数比较时,4点等于17点、5点等于16点、6点等于15点、7点等于14点、8点等于13点、9点等于12点、10点等于11点(这种规则的本质是出现概率小的大于出现概率大的);

输入格式:

只有一行,为6个用空格分隔的整数。前三个代表A摇出的点数,后三个代表B摇出的点数。测试用例保证合法。

输出格式:

如果A获胜则输出A,B获胜则输出B,打平则输出=。

输入样例一:

1 1 1 4 5 6

输出样例一:

A

输入样例二:

1 1 1 2 2 2

输出样例二:

B

输入样例三:

3 4 2 5 6 1

输出样例三:

=

思路:

  1. 先讨论一方都相同的情况,再讨论一方不同的情况

  1. 不全相同时:这种规则的本质是比较出现的概率大小,所以如果sum a>=11时,可以让其转换为suma=21-suma,都转化为小于11的数,谁小谁就胜出。(避免多次分情况讨论)

代码实现

  1.  
    #include<stdio.h>
  2.  
    int main()
  3.  
    {
  4.  
    int a1,a2,a3,suma;
  5.  
    int b1,b2,b3,sumb;
  6.  
    scanf("%d %d %d %d %d %d",&a1,&a2,&a3,&b1,&b2,&b3);
  7.  
    suma=a1 a2 a3;
  8.  
    sumb=b1 b2 b3;
  9.  
    //一方都相同
  10.  
    if(a1==a2&&a2==a3)
  11.  
    {
  12.  
    if(b1==b2&&b2==b3)
  13.  
    {
  14.  
    if(a1==b1)
  15.  
    {
  16.  
    printf("=\n");
  17.  
    }
  18.  
    if(a1>b1)
  19.  
    {
  20.  
    printf("A\n");
  21.  
    }
  22.  
    if(b1>a1)
  23.  
    {
  24.  
    printf("B\n");
  25.  
    }
  26.  
    }
  27.  
    else printf("A\n");
  28.  
    }
  29.  
    //一方不全相同
  30.  
    else
  31.  
    {
  32.  
    if(b1==b2&&b2==b3)
  33.  
    {
  34.  
    printf("B\n");
  35.  
    }
  36.  
    else//转换
  37.  
    {
  38.  
    if(suma>=11)
  39.  
    {
  40.  
    suma=21-suma;
  41.  
    }
  42.  
    if(sumb>=11)
  43.  
    {
  44.  
    sumb=21-sumb;
  45.  
    }
  46.  
    if(suma<sumb)
  47.  
    {
  48.  
    printf("A\n");
  49.  
    }
  50.  
    if(suma==sumb)
  51.  
    {
  52.  
    printf("=\n");
  53.  
    }
  54.  
    if(sumb<suma)
  55.  
    {
  56.  
    printf("B\n");
  57.  
    }
  58.  
    }
  59.  
    }
  60.  
    return 0;
  61.  
    }
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbikhk
系列文章
更多 icon
同类精品
更多 icon
继续加载