以下有两组代码,一组AC了,一组没AC,两者差别这在记录队名和得分的算法,但输入样例后结果都是对的。想了很久还是没能想明白没AC的那组代码错哪儿了,一直处于待处理状态。难道是sscanf函数的问题?以前这样用过也没出现过问题啊~~~~思考中……
Code AC:
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<ctype.h>
using namespace std;
char toun[110];
struct Team{
char name[50];
int b,c,d,e,f,g,h,i;
};
Team team[50];
bool cmp(Team x, Team y)
{
if(x.b==y.b){
if(x.d==y.d){
if(x.g==y.g){
if(x.h==y.h){
if(x.c==y.c){
int lx=strlen(x.name);
int ly=strlen(y.name);
for(int i=0;i<lx;i++)
x.name[i]=tolower(x.name[i]);
for(int i=0;i<ly;i++)
y.name[i]=tolower(y.name[i]);
return strcmp(x.name,y.name)<0;
}
return x.c<y.c;
}
return x.h>y.h;
}
return x.g>y.g;
}
return x.d>y.d;
}
return x.b>y.b;
}
int main()
{
int N,T,G;
scanf("%d",&N);
getchar();
while(N--){
gets(toun);
scanf("%d",&T);
getchar();
for(int i=0;i<T;i++){
gets(team[i].name);
team[i].b=team[i].c=team[i].d=team[i].e=team[i].f=team[i].g=team[i].h=team[i].i=0;
}
scanf("%d",&G);
getchar();
while(G--){
char A