| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 大一C语言总结贴(持更) Part 11 同花顺 -> 正文阅读 |
|
[C++知识库]大一C语言总结贴(持更) Part 11 同花顺 |
【问题描述】 编程分析一手5张牌的牌型,输出最好的牌型。每张牌有四种花色(方块Diamonds、梅花Clubs、红桃Hearts、黑桃Spades)和等级(2、3、4、5、6、7、8、9、10、J、Q、K、A),这里A看做最小等级。牌型从大到小有: ?同花顺 Straight Flush(同花色且等级顺序相连) ?四张 Four of A Kind(4张牌等级相同) ?葫芦 Full House(3张牌等级相同,另2张牌也等级相同) ?同花 Flush(5张牌花色相同) ?顺子 Straight(5张牌等级顺序相连) ?三张 Three of A Kind(3张牌等级相同) ?两对 Two Pairs(存在两个对子) ?对子 Pair(2张牌等级相同) ?其他 Other 输入时,花色用首字母表示,等级用数字或字母表示(10用T表示)。 若输入非法牌或重复牌则丢弃。若输入为0则结束程序。
输入为若干行,每行包括5张牌,每张牌表示为花色+等级的形式,例如:红桃4表示为“H4”,两张牌之间用一个空格隔开,第5张牌之后没有空格 最后一行输入为:0,表示输入结束。 输出为若干行,每一行输出表示对于一手5张牌(对应输入中的每一行)的分析结果。如果5张牌中包括非法牌(不在52张之中)或含有重复牌,则输出“Invalid”,否则,根据题目中描述的牌型,输出匹配的等级最大的牌型名称。 DA?C5?S3?H2 D4 H6 D8 DK SA AT 0
Straight Invalid 【样例说明】 第一行输入可以组成“方块A 红桃2 黑桃3 方块4 梅花5”的顺子,故第一行输出为“Straight” 第二行输入包含“AT”不属于题目中描述的52张牌,故输出“Invalid” 注:对于同花顺和顺子,本题中假设A为最小等级,故组成顺子时,“A1234”“9TJQK”可以组成顺子,而“TJQKA”不可以组成顺子。 特别提醒!!!本题中每行末尾的换行是“\r\n”因此如果输入按字符读取,请注意行末的“\r\n”对应两个字符! 代码:
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:01:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |