要求:
http://codeup.cn/problem.php?cid=100000575&pid=8
说明:
这一题又是过了样例,显示答案错误,到底不知道哪里错了。。
代码:(显示答案错误)
#include <stdio.h>
#include <string.h>
struct record{
char r1;
char r2;
}recordscore[100000];
void compare(int a1,int a2,int a3){
if(a1>a2){
if(a1>a3){
printf("C ");
}
else if(a1 = a3){
printf("B ");
}
else{
printf("B ");
}
}
else if(a1 = a2){
if(a1 >a3){
printf("C ");
}
else if(a1 = a3){
printf("B ");
}
else{
printf("B ");
}
}
else{
if(a2<a3){
printf("B ");
}
else if(a2 = a3){
printf("B ");
}
else{
printf("J ");
}
}
}
int main(){
int n;
scanf("%d",&n);
char r1record[100000];
char r2record[100000];
char a = 'C';
char b = 'J';
char c = 'B';
int r1win =0,r1lose = 0,r1equ = 0,r2win = 0,r2lose = 0,r2equ =0;
for(int i = 0;i <n;i++){
//此处要读入一个换行,不然存储的字符会错误
getchar();
scanf("%c %c",&(recordscore[i].r1),&(recordscore[i].r2));
//printf("r1=%cr2=%c\n",recordscore[i].r1,recordscore[i].r2);
if(recordscore[i].r1 - recordscore[i].r2 == a-b || recordscore[i].r1 - recordscore[i].r2 == b-c || recordscore[i].r1 - recordscore[i].r2 == c-a ){
r1record[r1win] = recordscore[i].r1;
r1win++;
r2lose++;
}
else if(recordscore[i].r1 - recordscore[i].r2 == b-a || recordscore[i].r1 - recordscore[i].r2 == c-b || recordscore[i].r1 - recordscore[i].r2 == a-c ){
r1lose++;
r2record[r2win] = recordscore[i].r2;
r2win++;
}
else{
r1equ++;
r2equ++;
}
}
printf("%d %d %d\n%d %d %d\n",r1win,r1equ,r1lose,r2win,r2equ,r2lose);
int len1 = strlen(r1record);
int countC=0,countJ=0,countB=0;
for(int i = 0;i <len1;i++){
if(r1record[i] == a){
countC++;
}
else if(r1record[i] == b){
countJ++;
}
else{
countB++;
}
}
compare(countC,countJ,countB);
countC=0,countJ=0,countB=0;
int len2 = strlen(r2record);
for(int i = 0;i <len2;i++){
if(r2record[i] == a){
countC++;
}
else if(r2record[i] == b){
countJ++;
}
else{
countB++;
}
}
compare(countC,countJ,countB);
return 0;
}