#include "stdio.h"
//#define DEBUG
/* 对一组数据处理,输入设定王牌花色和一组牌面数据,判断大小,如果大输出Yes,小输出No */
void judge()
{
int i;
char face1[2],face2[2];
char max,temp,*ch;
printf("请输入王牌花色(S、H、D和C):");
max=getchar();
fflush(stdin);
if(max>='a' && max<='z')
max=max-32;
printf("请输入一组牌面:牌面(6\\7\\8\\9\\T\\J\\Q\\K\\A)+花色(S、H、D和C)\n");
face1[0]=getchar();
face1[1]=getchar();
while((temp=getchar())==' ');
face2[0]=temp;
face2[1]=getchar();
fflush(stdin);
if(face1[1]>='a' && face1[1]<='z')
face1[1]=face1[1]-32;
if(face2[1]>='a' && face2[1]<='z')
face2[1]=face2[1]-32;
ch=&face1[0];
for(i=0;i<2;i++) {
switch(*ch) {
case 't':
*ch='9'+1;
break;
case 'T':
*ch='9'+1;
break;
case 'j':
*ch='9'+2;
break;
case 'J':
*ch='9'+2;
break;
case 'Q':
*ch='9'+3;
break;
case 'q':
*ch='9'+3;
break;
case 'K':
*ch='9'+4;
break;
case 'k':
*ch='9'+4;
break;
default:
break;
}
ch=&face2[0];
}
#ifdef DEBUG
putchar(face1[0]);
putchar(face1[1]);
putchar(face2[0]);
putchar(face2[1]);
putchar('\n');
#endif;
/* 判断两个牌面的大小 */
if(face1[1]==max && face2[1]==max || face1[1]!=max && face2[1]!=max)
if(face1[0]>face2[0])
printf("Yes!\n");
else
printf("No!\n");
else
if(face1[1]==max)
printf("Yes!\n");
else
printf("No!\n");
}
int main(int argc, char* argv[])
{
int n;
printf("请输入数据组数:");
scanf("%d",&n);
fflush(stdin);
while(n--)
judge();
return 0;
}