PAT:B1046. 划拳(15)
来源:互联网 发布:linux shell脚本例子 编辑:程序博客网 时间:2024/05/21 17:25
PAT:B1046. 划拳(15)
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。
下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。
输入格式:
输入第一行先给出一个正整数N(<=100),随后N行,每行给出一轮划拳的记录,格式为:
甲喊 甲划 乙喊 乙划
其中“喊”是喊出的数字,“划”是划出的数字,均为不超过100的正整数(两只手一起划)。
输出格式:
在一行中先后输出甲、乙两人喝酒的杯数,其间以一个空格分隔。
输入样例:
5
8 10 9 12
5 10 5 10
3 8 5 12
12 18 1 13
4 16 12 15
输出样例:
1 2
思路:
写一个方法,当输入这个四个数字之后,得到谁赢了,
返回到main中,
方法一:
#include<stdio.h> //写一个方法,-1是乙赢,0是平局,1是甲赢int whowin(int A1, int H1, int A2, int H2){ int num; if(H1 == (A1 + A2) && H2 != (A1 + A2)) num = +1; else if(H1 != (A1 + A2) && H2 == (A1 + A2)) num = -1; else num = 0; return num; } int main(){ int T,num; int a = 0,b = 0; //a.b代表甲和乙喝酒的次数 int A1,H1,A2,H2; scanf("%d",&T); while(T--) { scanf("%d %d %d %d", &A1, &H1, &A2, &H2); num = whowin(A1,H1,A2,H2); if(num == -1) a++; else if(num == 1) b++; } printf("%d %d\n", a, b);}
方法二:
#include<stdio.h>int main(){ int failA = 0,failB = 0; int T; int a1,h1,b1,h2; scanf("%d",&T); while(T--) { scanf("%d %d %d %d", &a1, &h1, &b1, &h2); if(h1 == a1+b1 && h2 != a1+b1) failB++; if(h1 != a1+b1 && h2 == a1+b1) failA++; } printf("%d %d\n", failA, failB); return 0;}
阅读全文
0 0
- PAT B1046. 划拳(15)
- PAT:B1046. 划拳(15)
- PAT乙级练习题B1046. 划拳
- B1046.划拳
- 3.1入门模拟B1046. 划拳(15)
- PAT B1046
- 【PAT】1046. 划拳(15)
- 1046. 划拳(15) PAT
- 浙大 PAT b1046
- PAT b1046-b1049题解
- Java - PAT - 1046. 划拳(15)
- 1046. 划拳(15) PAT 乙级
- PAT乙级.1046. 划拳(15)
- PAT 乙级 1046. 划拳(15)
- PAT 乙级 1046. 划拳(15)
- PAT-B 1046. 划拳(15)
- PAT乙级 1046. 划拳(15)
- PAT乙级 1046. 划拳(15)
- springmvc配置文件:spring-mybatis.xml
- bLue的大写L
- openstack【Kilo】入门 【glance篇】十一:glance安装验证
- 在mac上开发rn项目出错
- Python爬虫(二)之使用标准库爬取糗事百科段子
- PAT:B1046. 划拳(15)
- Stuts2的"struts.devMode"设置成true后,不起作用,仍需要重启tomcat
- 2011.11.17. Fin(?) + noip 2017 总结
- React Native 原生模块封装、发布、调用 (Android)
- 带你了解“不拘一格去创新,别出心裁入场景”的锐捷
- FJUT 3101 Home_W的简单问题3 数学 因子和问题
- 什么是领域对象
- 互联网人必备的六大类专业搜索工具
- 把相同的值的二维数组重装数组记录(有相同的值,合并成一条记录,这个是统计每个类别的数量)