华为机试题 扑克牌判断

原创 2013年12月02日 15:15:15
一副牌中发五张扑克牌给你:让你判断数字的组成:
有以下几种情况:
1:四条:即四张一样数值的牌(牌均不论花色)
2
:三条带一对
3
:三条带两张不相同数值的牌
4
:两对
5
:顺子  包括 10JQKA
6
:什么都不是
7
:只有一对

#include
using namespace std;
void sort(int a[]) //冒泡排序
{ int temp;
for(int i=0;i<5;i++)
 for(int j=0;j<4-i;j++)
if(a[j+1]
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
}
void test(int a[])
{ int *b=new int[5];
int k=1;//k表示有多少个两两相等的数字,即k-1表示对数。
sort(a);
for(int i=0;i<5;i++)
 { b[i]=a[i];}
if((b[4]==13&&b[3]==12&&b[2]==11&&b[1]==10&&b[0]==1))
{
cout<<"顺子"<<endl;
return;
}
for(int j=0;j<4;j++)
if(a[j]==a[j+1])
k++;
if(k>4)
{
cout<<"输入错误"<<endl;
}
if(k==4){
if(b[1]==b[3])
{cout<<"四条"<<endl;
return;}
else
{ cout<<"三条带一对"<<endl;
return;
}
}
if(k==3){
if(b[0]==b[1]&&b[1]==b[2]||b[1]==b[2]&&b[2]==b[3]||b[2]==b[3]&&b[3]==b[4])
{ cout<<"三条带两个不同的牌"<<endl;
return;}
else
{cout<<"两对"<<endl;
return;}
}
if(k==2)
{
cout<<"一对"<<endl;
return;
}
if(k==1){
if(b[4]-b[0]==4&&b[4]-b[1]==3&&b[4]-b[2]==2&&b[4]-b[3]==1)
{
cout<<"顺子"<<endl;
return;
}
else
{
cout<<"什么都不是"<<endl;
return;
}
}
  }
int main()
{  int a[]={1,2,1,2,1};
test(a);
return 0;
}

 

华为2016校园招聘上机笔试题:扑克牌大小 [python]

''' [编程题] 扑克牌大小 时间限制:10秒 空间限制:131072K 扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。 牌面从小到大用如下字符和字符串...

华为面试题:扑克牌大小 C语言源码

扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A、2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王): 3 4 5 ...

华为机试五张扑克牌判断

  • 2013年09月13日 22:30
  • 27KB
  • 下载

华为机试题:判断一个点是否在三角形内(java)

描述:  一个二维坐标系中(100*100,每一维0~99),已知三角形三个顶点的坐标A、B、C,判断坐标系中的任意点:P,是否在三角形内(在三角形边上也认为在三角形内)   请...

华为机试题:身份证号码合法性判断

/***************************************************************************************************...

华为机试题-判断二进制中0的个数【4】

题目描述:输入一个10进制数字,请计算该数字对应二进制中0的个数,注意左数第一个1之前的所有0都不需要计算。不需要考虑负数的情况。我之前的博客讲过类似的问题,博客地址如下:http://blog.cs...

华为2011软件开发校园测试机试题--身份证号码合法性判断

身份证号码合法性判断 问题描述: 我国公民的身份证号码特点如下: 1、长度为18位; 2、第1~17位只能为数字; 3、第18位可以是数字或者小写英文字母x。 4、身份证号码的第7~14位表示持有人生...

华为OJ——扑克牌大小

题目描述 扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A、2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王...

华为OJ—扑克牌大小

华为OJ——扑克牌大小 /************************************************************************/ /* 扑克牌游戏大...

华为OJ 扑克牌大小

扑克牌大小        答题时间: 00 小时 00 分 00 秒  输入:   输入两手牌,两手牌之间用"-"连接,每手牌的每张牌以空格分隔,"-"两边没有空格,如 4 4...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:华为机试题&nbsp;扑克牌判断
举报原因:
原因补充:

(最多只允许输入30个字)