解题思路:字符数字码值比字母小。转换10和K,统一数据位数和ASCII码值,就可以按顺序按位数比较了,faces[0]是点数,faces[1]是花色
注意事项:每次输入字符(串)都要捕获结束符
参考代码:
#include <stdio.h> int main() { int n; //数据量 scanf("%d",&n); getchar(); //捕获结束符 while(n--) { char faces[2][3]= {'\0'},king; //牌面花色,王牌花色 int judgeKing; //判断王牌花色 scanf("%c",&king); // printf("%c\n",king); //测试代码:查看王牌花色 getchar(); scanf("%s%s",faces[0],faces[1]); getchar(); // 10占两位字符,转为单字母,保证位数对齐,方便比较 // 10转为 I,K转为 Z,保证 牌面与 ASCII 同时顺序增加 for(int i=0; i<2; i++) if(faces[i][0]=='1'&&faces[i][1]=='0') { faces[i][0]='I'; faces[i][1]=faces[i][2]; //花色位左移 faces[i][2]='\0'; } else if(faces[i][0]=='K') faces[i][0]='Z'; // printf("%s %s\n",faces[0],faces[1]);//测试代码:查看转换结果 // 双方均有或没有王牌花色则判断点数 judgeKing=(faces[0][1]==king?1:0) - (faces[1][1]==king?1:0); // printf("王牌状况:%d\n",judgeKing); //测试代码:查看王牌判断结果 if(judgeKing) printf("%s\n",judgeKing>0?"YES":"NO"); else printf("%s\n",faces[0][0]>faces[1][0]?"YES":"NO"); } }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:941 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:1000 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:539 |
有关字符,字符串的输入输出函数说明浏览:498 |
字符串输入输出函数 (C语言代码)浏览:2604 |
1048题解(读入回车问题)浏览:628 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:420 |
整除的尾数 (C语言代码)浏览:852 |
1162答案错误,为什么浏览:700 |
C语言程序设计教程(第三版)课后习题7.5 (C++代码)浏览:1460 |