PAT Basic Level 1018

AC代码

  1 #include <stdio.h>
  2 struct info
  3 {
  4     int win;
  5     int lose;
  6     int draw;
  7     int J;
  8     int S;
  9     int B;
 10 };
 11 void Judge(char a,char b,struct info *a1,struct info *b1)
 12 {
 13     if(a == 'J')
 14     {
 15         if(b == 'J')
 16         {
 17             (a1->draw)++;
 18             (b1->draw)++;
 19             
 20         }
 21         else
 22         if(b == 'C')
 23         {
 24             (a1->lose)++;
 25             (b1->win)++;
 26             (b1->S)++;
 27         }
 28         else
 29         if(b == 'B')
 30         {
 31             (a1->win)++;
 32             (b1->lose)++;
 33             (a1->J)++; 
 34         }
 35     }else
 36     if(a == 'B')
 37     {
 38         if(b == 'J')
 39         {
 40              (a1->lose)++;
 41              (b1->win)++;
 42              (b1->J)++; 
 43         }
 44         else
 45         if(b == 'C')
 46         {
 47             (a1->win)++;
 48             (b1->lose)++;
 49             (a1->B)++;
 50         }
 51         else
 52         if(b == 'B')
 53         {
 54             (a1->draw)++;
 55             (b1->draw)++; 
 56         }
 57      } else
 58      if(a == 'C')
 59     {
 60         if(b == 'J')
 61         {
 62             (a1->win)++;
 63             (b1->lose)++;
 64             (a1->S)++;
 65         }
 66         else
 67         if(b == 'C')
 68         {
 69             (a1->draw)++;
 70             (b1->draw)++;
 71         }
 72         else
 73         if(b == 'B')
 74         {
 75             (a1->lose)++;
 76             (b1->win)++;
 77             (b1->B)++;
 78         }
 79      } 
 80 }
 81 int main ()
 82 {
 83     long amount;
 84     struct info a;
 85     struct info b;
 86     scanf("%ld",&amount);
 87     char ret1;
 88     char ret2;
 89     a.B=0;
 90     a.draw=0;
 91     a.J=0;
 92     a.lose=0;
 93     a.S=0;
 94     a.win=0;
 95     b.B=0;
 96     b.draw=0;
 97     b.J=0;
 98     b.lose=0;
 99     b.S=0;
100     b.win=0;
101     while(amount > 0)
102     {
103         scanf(" %c %c",&ret1,&ret2);        //注意这行%c前面的空格!!!!!!!!!! 
104         Judge(ret1,ret2,&a,&b);
105         amount--;
106     }
107     printf("%d %d %d
",a.win,a.draw,a.lose);
108     printf("%d %d %d
",b.win,b.draw,b.lose);
109     if(a.B >= a.J&&a.B >= a.S)
110     {
111         printf("B ");
112     }
113     else
114     if(a.J >a.B&&a.J>a.S)
115     {
116         printf("J ");
117     }
118     else
119     if(a.S >a.B&&a.S>=a.J)
120     {
121         printf("C ");
122     }
123     
124     if(b.B >= b.J&&b.B >= b.S)
125     {
126         printf("B");
127     }
128     else
129     if(b.J >b.B&&b.J>b.S)
130     {
131         printf("J");
132     }
133     else
134     if(b.S >b.B&&b.S>=b.J)
135     {
136         printf("C");
137     }
138     
139     
140     return 0 ;
141     
142 
143  } 
原文地址:https://www.cnblogs.com/Ponytai1/p/5976497.html