华为机试——扑克牌
来源:互联网 发布:枪战王者知乎 编辑:程序博客网 时间:2024/06/06 08:36
华为机试——扑克牌
一副牌中发五张扑克牌给你,让你判断数字的组成:
有一下几种情况:
1.四条:即四章一样数值的牌(牌均不论花色)
2.三条带一对
3.三条带两张不同数值的牌
4.两对
5.顺子 包括10,J,Q,K,A
6.什么都不是
7.只有一对。
#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){ string str; cin>>str; int flag; int num[5],m=0; for(int i=0;i<str.size()&&m<5;i++) { if(str[i]>='2' && str[i]<='9') num[m++]=str[i]-'0'; else if(str[i]=='1'&& str[i+1]=='0') { num[m++]=10; i++; } else if(str[i]=='J' ||str[i]=='j') num[m++]=11; else if(str[i]=='Q'||str[i]=='q') num[m++]=12; else if(str[i]=='K' || str[i]=='k') num[m++]=13; else if(str[i]=='A' || str[i] =='a') num[m++]=14; else { cout<<"输入错误"<<endl; return 0; } } sort(num,num+5); if(num[0]==num[3] || num[1]==num[4]) flag=1; else if((num[0]==num[2] && num[3]==num[4])||(num[2]==num[4] &&num[0]==num[1])) flag=2; else if((num[0]==num[2] && num[3]!=num[4])||(num[1]==num[3] && num[0]!=num[4])||(num[2]==num[4] && num[0]!=num[1])) flag=3; else if((num[0]==num[1] && num[3]==num[4])||(num[0]==num[1] && num[2]==num[3])||(num[1] ==num[2] && num[3]==num[4])) flag=4; else if(num[0]-num[4]==4) flag=5; else if(num[0]==num[1] ||num[1]==num[2] ||num[3]==num[4] ||num[3]==num[4]) flag=7; else flag=6; cout<<flag<<endl;}
0 0
- 华为机试——扑克牌
- 华为机试—扑克牌比大小
- 华为机试—5张扑克牌的组成
- [华为机试]扑克牌大小
- 华为机试---扑克牌大小
- 华为OJ—扑克牌大小
- 华为机试(扑克牌大小3.3)
- 华为OJ——扑克牌大小
- 华为OJ——扑克牌大小
- 华为OJ——扑克牌大小
- 华为OJ——扑克牌大小
- 华为机试题 扑克牌判断
- 华为:扑克牌比较CompareOneCard
- 华为oj 扑克牌大小
- 华为OJ 扑克牌大小
- 【华为oj】扑克牌比较
- 【华为OJ】【103-扑克牌大小】
- 华为oj 扑克牌的大小
- 查询操作系统版本信息
- Linux常见目录使用区别
- 606第三周周六赛 D - Reversi
- Spring MVC textbox example
- 安装ffmpeg,使能了--enable-libx264
- 华为机试——扑克牌
- vi编辑器用法总结
- vmware下设置hostonly方式上网
- Jquery之显示/隐藏
- https和http的区别
- android 登录界面 记住多组账号与密码
- Android应用中添加友盟统计
- BufferedReader.readLine()读取文件第一行会出现bug,首行第一个字符会是一个空字符
- Linux下的一些快捷键