NYOJ 721 纸牌游戏【字符串转换】

/*
题目大意:比较两个纸牌的大小。
解题思路:看代码
关键点:如何存数和转换
解题人:lingnichong
解题时间:2014-10-12 20:05:47
解题体会:看懂题意,知道如何表示两位数字。
*/


纸牌游戏

时间限制: 1000 ms  |  内存限制: 65535 KB
难度: 1
描述
  • 玩家1和玩家2各出一张牌,看谁大。如果两张牌都不是王牌花色或则都是王牌花色,则牌面大的牌大,如果牌面一样大则一样大。若其中一张牌是王牌而另一张不是,则无论牌面如何都是王牌花色大。

输入
第一行一个数字n,代表数据组数(n <= 10)
对于每组数据,首先输入一个字符(S\H\D\C),表示王牌花色。
接下去一行有两张牌面,表示为牌面花色,如8D、9S等。
输出
对于每组数据,输出第一张牌是否比第二张牌大,若是则输出YES,否则输出NO
样例输入
1
H
QH 9S
样例输出
YES
提示
A的值为1,不是13
来源
Codeforce


 
#include<stdio.h>
#include<string.h>
int main()
{
    int n;
    char c,a[4],b[4];
    scanf("%d",&n);
    while(n--)
    {
        getchar();
        scanf("%c",&c);
        scanf("%s%s",a,b);
        int n,m;
        int p,q;
        p=strlen(a);
        q=strlen(b);
        if(a[0]=='A')	n=1;
        else if(a[0]=='1')  n=10;
        else if(a[0]=='J')	n=11;
        else if(a[0]=='Q')	n=12;
        else if(a[0]=='K')	n=13;
        else
        	n=a[0]-'0';
    	if(b[0]=='A')	m=1;
		else if(b[0]=='1')  m=10;
    	else if(b[0]=='J')	m=11;
    	else if(b[0]=='Q')	m=12;
    	else if(b[0]=='K')	m=13;
		else
			m=b[0]-'0';
		if(a[p-1]==c&&b[q-1]!=c)
			printf("YES\n");
		else if(a[p-1]!=c&&b[q-1]==c)
			printf("NO\n");
		else if(n>m)
			printf("YES\n");
		else
			printf("NO\n");
    }    
    return 0;
}             






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值