2019常州市程序设计小能手题目-猜先

3 篇文章 1 订阅

题目描述

小 X 凭借出色的棋艺被聘请为少年宫的中国象棋老师。少年宫改造以后所有的设施都焕然一新,象棋教室已不再使用传统的木制棋子和棋盘了,小朋友们所有的操作都是在电脑上进行的,如猜先、对弈、复盘、计算积分等,这给老师的备课带来了极大的挑战,因为除了正常的棋艺教学,还要开发各种应用程序来辅助教学。众所周知任何棋类运动开局前都要猜先,如围棋项目猜先仪式是由上手抓起一把围棋子让对手猜单双,猜中先行。而象棋则是甲、
乙两人同时从各自的棋盒中摸出一枚棋子比大小,连续比三次,获胜次数多的一方执红先行,另一方则执黑后行。因现在所有的操作都要在电脑上实现,小 X 需要编写一个象棋猜先程序,具体任务如下:象棋中有七种棋子,分别是帅、士、相、车、马、炮、兵,程序中用 7,6,5,4,3,2,1表示,定义大小的规则为:帅>士>相>车>马>炮,兵最弱,除了帅之外的棋子都比兵大,士>相>车>马>炮>兵,但兵却能吃帅,即兵>帅。猜先程序要能实现以下功能:输入三行数据,每行两个棋子的编号,判断谁胜谁负。小 X 觉得这个程序太简单了,于是交给了参加本次比赛的你来完成。

 

输入:

输入数据共有三行,每行两个用空格隔开的正整数,表示两个棋子对应的编号,第一个 数对应甲摸出的棋子的编号,第二个数对应乙摸出的棋子的编号。 

输出:

输出一行包含一个单词,如甲获胜的次数比乙多则输出“Win”,如乙获胜的次数多则输出“Lose”,如甲乙两人获胜次数相同则输出“Tie”。请注意大小写,引号不用输出!

样例:

输入:

6 2

3 3

7 1

输出:

Tie

 

样例解释:

第一次甲摸出的棋子是士,编号为 6,乙摸出的棋子是炮,编号为 2,甲胜;第二次甲乙摸出的棋子都是马,编号为 3,平;第三次甲摸出的棋子是帅,编号为 7,乙摸出的棋子是兵,编号为 1,乙胜;三次比下来结果为平手。
数据范围
对于 30%的数据不会出现 7
对于 100%的数据,每种结果对应的数据均不少于 1/3

 

答案一:

这是一个典型的fo循环 加 if else题目,解题如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a;//甲出 
    int b;//乙出 
    int a_sucess = 0;//甲胜次数 
    int b_sucess = 0;//乙胜次数 
    
    for(int i = 0; i < 3; i++)
    {
        cin>>a>>b;
        if(a==1&&b==7)
        {
            a_sucess++;
        }
        else if(a==7&&b==1)
        {
            b_sucess++;
        }
        else if(a>b)
        {
            a_sucess++;
        }
        else if(a<b)
        {
            b_sucess++;
        }
    }
    
    if(a_sucess > b_sucess)
    {
        cout<<"Win"<<endl;
    }
    else if(a_sucess < b_sucess)
    {
        cout<<"Lose"<<endl;
    }
    else
    {
        cout<<"Tie"<<endl;
    }
    
    return 0;
}
 

由于 if else是有优先级,所以把特殊的1和7放在前面,最后的就是根据大小判断。

 

完整题目请下载https://download.csdn.net/download/chenxiaohua/13216336

 

微信交流

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值