此题如果要用if else做的话,很繁琐,而且很容易出错

tips:

由于scanf使用%c时会将换行符与空格等输入

因此需要在合适的地方加上getchar()吸收空格

另外输入一定要按样例的格式,有空格的地方一定要输入,不然会出错

程序输入数据后闪退,基本就是这个原因导致的

#include<stdio.h>
int change(char c)
{if(c=='B')return 0;else if(c=='C')return 1;else if(c=='J')return 2;
}
int main()
{int n;char mp[4]={'B','C','J'};scanf("%d",&n);char a,b;int i,j;i=j=0;int p1[4]={0};int p2[4]={0};int q1[4]={0};int q2[4]={0};int x,y;while(n--){getchar();scanf("%c %c",&a,&b);//getchar();x=change(a);y=change(b);if((x+1)%3==y){p1[0]++;p2[2]++;q1[x]++;}else if(x==y){p1[1]++;p2[1]++;}else{p1[2]++;p2[0]++;q2[y]++;}}printf("%d %d %d\n",p1[0],p1[1],p1[2]);printf("%d %d %d\n",p2[0],p2[1],p2[2]);int xx=0;int yy=0;for(i=0;i<3;i++){if(q1[i]>q1[xx])xx=i;if(q2[i]>q2[yy])yy=i;}printf("%c %c\n",mp[xx],mp[yy]);return 0;
}

此题要很巧妙地想到一种方法,把字符转化为数字,从小到大,下一个便是前一个的克星,这样就可以判断了,而且把字母存储在一个数组中,这样只要得到最大的数的下标,便可以得到字母了

PAT——乙级 1018锤子剪刀布相关推荐

  1. PAT乙级 1018 锤子剪刀布 (JAVA)

    1018 锤子剪刀布 (20 分) 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什 ...

  2. pat 乙级 1018 锤子剪刀布(C++)

    题目 两人玩锤子剪刀布,现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第 1 行给出正整数 N(≤105 ),即双方交锋的次数.随后 N 行 ...

  3. [PAT乙级]1018 锤子剪刀布

    大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入 ...

  4. PAT乙级(1018 锤子剪刀布)

    大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入 ...

  5. PAT乙级 1018 锤子剪刀布 (20 分)

    大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入 ...

  6. PAT 乙级 1018 锤子剪刀布 (20分)

    大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入 ...

  7. PAT乙级 1018 锤子剪刀布

    一.题目描述 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输 ...

  8. C++学习之路 | PTA乙级—— 1018 锤子剪刀布 (20分)(精简)

    1018 锤子剪刀布 (20分) 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: FigCJB.jpg 现给出两人的交锋记录,请统计双方的胜.平.负次数, ...

  9. PTA乙级-1018 锤子剪刀布 c++

    文章目录 题目内容 输入格式: 输出格式: 输入样例: 输出样例: 一.题解要点 二.具体实现 总结 题目内容 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所 ...

最新文章

  1. Xamarin.Android之Fragment Walkthrough
  2. fguillot json rpc_使用Hyperf框架搭建jsonrpc服务
  3. openssl简介-指令asn1parse
  4. Linux服务器与windows本地之间的数据同步
  5. 岗位推荐 | 腾讯AI Lab多媒体算法组招聘正式员工和实习生
  6. HDUOJ --2523
  7. 判断对象是否为数组/函数
  8. 【Daily Scrum】12-25
  9. unityAPI文档离线下载
  10. Rainmeter新手教程
  11. 我用一根网线,制霸了宿舍的网络!
  12. 学海无涯!我总结了所有面试题,含答案解析
  13. excel手机版_这些Excel恢复神器,据说个个都很强,你用过吗?网友:很实用
  14. 腾讯T3亲自讲解!2021年最新Android面试点梳理,附带学习经验
  15. Python 海龟绘图:turtle库的使用
  16. Springboot一:多环境配置、热部署、单元测试 MockMvc
  17. 在 Java 中如何加快大型集合的处理速度
  18. unzip error 22 - Invalid argument
  19. exadata 笔记
  20. echarts地图文字居中

热门文章

  1. 重装win10系统之后的硬盘分区(机械和固态一块使用)
  2. k8s集群部署二进制(一)
  3. linux把iso文件写入fstab,Linux mount ISO fstab
  4. 安装配置postman及插件
  5. Deepmotion: AI动作捕捉和3D身体追踪技术平台
  6. python 源代码 macd双底 高 低_中国股市真正厉害的人:MACD双顶、双底,晚上睡不着时就看看...
  7. eggjs中使用jwt
  8. 世界人工智能大赛赛制创新 人机搭档谁更强?
  9. recast 6 rcBuildPolyMeshDetail
  10. mysql iconv_iconv 用法