1. 程式人生 > >PTA練習:誰先倒.(C語言)

PTA練習:誰先倒.(C語言)

划拳是古老中國酒文化的一個有趣的組成部分。酒桌上兩人划拳的方法為:每人口中喊出一個數字,同時用手比劃出一個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就輸了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。
下面給出甲、乙兩人的酒量(最多能喝多少杯不倒)和划拳記錄,請你判斷兩個人誰先倒。

輸入格式:

輸入第一行先後給出甲、乙兩人的酒量(不超過100的非負整數),以空格分隔。下一行給出一個正整數N(≤100),隨後N行,每行給出一輪划拳的記錄,格式為:
甲喊 甲劃 乙喊 乙劃

輸出格式:

在第一行中輸出先倒下的那個人:A代表甲,B代表乙。第二行中輸出沒倒的那個人喝了多少杯。題目保證有一個人倒下。注意程式處理到有人倒下就終止,後面的資料不必處理。

輸入樣例:

1 1
6
8 10 9 12
5 10 5 10
3 8 5 12
12 18 1 13
4 16 12 15
15 1 1 16

輸出樣例:

A
1

#include<stdio.h>
int main()
{
 int A, B, N, i, j, flag, A_drink = 0, B_drink = 0;
 int com[100][4];
 scanf("%d%d%d", &A, &B, &N);
 for (i = 0; i < N; i++)
  for (j = 0; j < 4; j++)
   scanf(
"%d", &com[i][j]); for (i = 0; i < N; i++) { flag = com[i][0] + com[i][2]; if (com[i][1] != com[i][3]) { if (flag == com[i][1])A_drink++; else if (flag == com[i][3])B_drink++; } if (A_drink > A || B_drink > B)break; } if (A_drink > A)printf("A\n%d\n", B_drink); else
printf("B\n%d\n", A_drink); return 0; }