Poker Time

超、凢脫俗 2022-04-13 14:37 276阅读 0赞

在这里插入图片描述

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. /* Poker Time */
  5. /* written by Chen Gengru */
  6. /* updated on 2018-11-22 */
  7. int main()
  8. {
  9. char A[3][2];
  10. char B[3][2];
  11. int i, j, iTemp1, iTemp2;
  12. char cTemp1, cTemp2;
  13. for (i = 0; i < 3; i++)
  14. {
  15. scanf("%c%c", &A[i][0], &A[i][1]);
  16. getchar( );
  17. }
  18. for (i = 0; i < 3; i++)
  19. {
  20. scanf("%c%c", &B[i][0], &B[i][1]);
  21. getchar( );
  22. }
  23. int AA[3][2];
  24. for (i = 0; i <3; i++) // 赋值数组AA //
  25. {
  26. if (A[i][0] == 'H')
  27. {
  28. AA[i][0] = 4;
  29. }
  30. if (A[i][0] == 'S')
  31. {
  32. AA[i][0] = 3;
  33. }
  34. if (A[i][0] == 'D')
  35. {
  36. AA[i][0] = 2;
  37. }
  38. if (A[i][0] == 'C')
  39. {
  40. AA[i][0] = 1;
  41. }
  42. switch(A[i][1])
  43. {
  44. case '2':
  45. AA[i][1] = 1;
  46. break;
  47. case '3':
  48. AA[i][1] = 2;
  49. break;
  50. case '4':
  51. AA[i][1] = 3;
  52. break;
  53. case '5':
  54. AA[i][1] = 4;
  55. break;
  56. case '6':
  57. AA[i][1] = 5;
  58. break;
  59. case '7':
  60. AA[i][1] = 6;
  61. break;
  62. case '8':
  63. AA[i][1] = 7;
  64. break;
  65. case '9':
  66. AA[i][1] = 8;
  67. break;
  68. case 'J':
  69. AA[i][1] = 10;
  70. break;
  71. case 'Q':
  72. AA[i][1] = 11;
  73. break;
  74. case 'K':
  75. AA[i][1] = 12;
  76. break;
  77. case 'A':
  78. AA[i][1] = 13;
  79. break;
  80. default:
  81. AA[i][1] = 9;
  82. break;
  83. }
  84. }
  85. int BB[3][2];
  86. for (i = 0; i <3; i++) // 赋值数组BB //
  87. {
  88. if (B[i][0] == 'H')
  89. {
  90. BB[i][0] = 4;
  91. }
  92. if (B[i][0] == 'S')
  93. {
  94. BB[i][0] = 3;
  95. }
  96. if (B[i][0] == 'D')
  97. {
  98. BB[i][0] = 2;
  99. }
  100. if (B[i][0] == 'C')
  101. {
  102. BB[i][0] = 1;
  103. }
  104. switch(B[i][1])
  105. {
  106. case '2':
  107. BB[i][1] = 1;
  108. break;
  109. case '3':
  110. BB[i][1] = 2;
  111. break;
  112. case '4':
  113. BB[i][1] = 3;
  114. break;
  115. case '5':
  116. BB[i][1] = 4;
  117. break;
  118. case '6':
  119. BB[i][1] = 5;
  120. break;
  121. case '7':
  122. BB[i][1] = 6;
  123. break;
  124. case '8':
  125. BB[i][1] = 7;
  126. break;
  127. case '9':
  128. BB[i][1] = 8;
  129. break;
  130. case 'J':
  131. BB[i][1] = 10;
  132. break;
  133. case 'Q':
  134. BB[i][1] = 11;
  135. break;
  136. case 'K':
  137. BB[i][1] = 12;
  138. break;
  139. case 'A':
  140. BB[i][1] = 13;
  141. break;
  142. default:
  143. BB[i][1] = 9;
  144. break;
  145. }
  146. }
  147. for (i = 0; i < 3; i++)
  148. {
  149. if ((A[i][0] != 'H') && (A[i][0] != 'D') && (A[i][0] != 'C') && (A[i][0] != 'S'))
  150. {
  151. printf("Input Error!\n");
  152. return 0;
  153. }
  154. if ((A[i][1] != '1') && (A[i][1] != '2') && (A[i][1] != '3') && (A[i][1] != '4') && (A[i][1] != '5') && (A[i][1] != '6') && (A[i][1] != '7') && (A[i][1] != '8') && (A[i][1] != '9') && (A[i][1] != 'A') && (A[i][1] != 'J') && (A[i][1] != 'Q') && (A[i][1] != 'K'))
  155. {
  156. printf("Input Error!\n");
  157. return 0;
  158. }
  159. if ( i < 2)
  160. {
  161. if ((AA[i][0] == AA[i+1][0] && AA[i][1] == AA[i+1][1]))
  162. {
  163. printf("Input Error!\n");
  164. return 0;
  165. }
  166. }
  167. }
  168. for (i = 0; i < 3; i++)
  169. {
  170. if ((B[i][0] != 'H') && (B[i][0] != 'D') && (B[i][0] != 'C') && (B[i][0] != 'S'))
  171. {
  172. printf("Input Error!\n");
  173. return 0;
  174. }
  175. if ((B[i][1] != '1') && (B[i][1] != '2') && (B[i][1] != '3') && (B[i][1] != '4') && (B[i][1] != '5') && (B[i][1] != '6') && (B[i][1] != '7') && (B[i][1] != '8') && (B[i][1] != '9') && (B[i][1] != 'A') && (B[i][1] != 'J') && (B[i][1] != 'Q') && (B[i][1] != 'K'))
  176. {
  177. printf("Input Error!\n");
  178. return 0;
  179. }
  180. if (i < 2)
  181. {
  182. if (BB[i][0] == BB[i+1][0] && BB[i][1] == BB[i+1][1])
  183. {
  184. printf("Input Error!\n");
  185. return 0;
  186. }
  187. }
  188. }
  189. for (i = 0; i < 2; i++) // 比大小 //
  190. {
  191. for (j = i; j < 2; j++)
  192. if ((AA[j][0] < AA[j+1][0]) || (AA[j][0] == AA[j+1][0] && (AA[j][1] < AA[j+1][1])))
  193. {
  194. cTemp1 = A[j][0];
  195. cTemp2 = A[j][1];
  196. A[j][0] = A[j+1][0];
  197. A[j][1] = A[j+1][1];
  198. A[j+1][0] = cTemp1;
  199. A[j+1][1] = cTemp2;
  200. iTemp1 = AA[j][0];
  201. iTemp2 = AA[j][1];
  202. AA[j][0] = AA[j+1][0];
  203. AA[j][1] = AA[j+1][1];
  204. AA[j+1][0] = iTemp1;
  205. AA[j+1][1] = iTemp2;
  206. }
  207. }
  208. for (i = 0; i < 2; i++) // 比大小 //
  209. {
  210. for (j = i; j < 2; j++)
  211. if ((BB[j][0] < BB[j+1][0]) || (BB[j][0] == BB[j+1][0] && (BB[j][1] < BB[j+1][1])))
  212. {
  213. cTemp1 = B[j][0];
  214. cTemp2 = B[j][1];
  215. B[j][0] = B[j+1][0];
  216. B[j][1] = B[j+1][1];
  217. B[j+1][0] = cTemp1;
  218. B[j+1][1] = cTemp2;
  219. iTemp1 = BB[j][0];
  220. iTemp2 = BB[j][1];
  221. BB[j][0] = BB[j+1][0];
  222. BB[j][1] = BB[j+1][1];
  223. BB[j+1][0] = iTemp1;
  224. BB[j+1][1] = iTemp2;
  225. }
  226. }
  227. for (i = 0; i < 3; i++)
  228. {
  229. if ((AA[i][0] > BB[i][0]) || (AA[i][0] == BB[i][0] && AA[i][1] > BB[i][1]))
  230. {
  231. printf("Winner is A!\n");
  232. break;
  233. }
  234. if ((AA[i][0] < BB[i][0]) || (AA[i][0] == BB[i][0] && AA[i][1] < BB[i][1]))
  235. {
  236. printf("Winner is B!\n");
  237. break;
  238. }
  239. if (AA[2][0] == BB[2][0] && AA[2][1] == BB[2][1])
  240. {
  241. printf("Winner is X!\n");
  242. break;
  243. }
  244. }
  245. printf("A: ");
  246. for (i = 0; i < 3; i++)
  247. {
  248. printf("%c%c", A[i][0], A[i][1]);
  249. if (A[i][1] == '1')
  250. {
  251. printf("0");
  252. }
  253. if (i < 2)
  254. {
  255. printf(" ");
  256. }
  257. }
  258. printf("\n");
  259. printf("B: ");
  260. for (i = 0; i < 3; i++)
  261. {
  262. printf("%c%c", B[i][0], B[i][1]);
  263. if (B[i][1] == '1')
  264. {
  265. printf("0");
  266. }
  267. if (i < 2)
  268. {
  269. printf(" ");
  270. }
  271. }
  272. printf("\n");
  273. return 0;
  274. }

在这里插入图片描述
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,276人围观)

还没有评论,来说两句吧...

相关阅读

    相关 UVA 12298 Super Poker II(FFT)

    题意: 每个花色恰好选择一张牌 能够构成点数和大小为N的方案数 用类似生成函数的想法,多项式的幂值表示大小,前面的系数表示的是方案数 因此想到了多项式乘法,用F