题目描述
划拳是中国酒文化中一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。
下面给出甲、乙两人的划拳记录,请统计他们最后分别喝了多少杯酒。
输入格式
第一行先给出一个正整数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
思路:
①甲对了,乙错。乙喝一杯
②乙对了,甲错。甲喝一杯
③两人都错,都不喝。两人都对也不喝。
因此,用两个if语句进行判断即可。
易错点:
①计数的count变量不要放在while循环里,这样每次count都会重新赋值为0。
②将a1+b1赋值给c一定要在scanf之后,不然,a1,b1中初始为0,将0赋给了c,而不是你真正想得到的值。
代码实现:
- #include
-
-
- int main()
- {
- int N;
- int count1 = 0,count2 = 0; //count1记录甲喝的杯数,count2记录乙喝的杯数
- scanf("%d",&N);
- while(N--)
- {
- int a1,a2,b1,b2; //甲喊,甲划 ,乙喊,乙划
- scanf("%d%d%d%d",&a1,&a2,&b1,&b2);
-
- int c = a1 + b1; // 甲喊 + 乙喊
-
- if(c == a2 && c != b2) //甲对,乙错,乙喝一杯
- {
- count2++;
- }
- else if(c == b2 && c != a2) //乙对,甲错, 甲喝一杯
- {
- count1++;
- }
- }
-
- printf("%d %d\n",count1,count2);
-
- return 0;
- }