北大acm1657题为什么老是wa,测试时是对的?#include #include main(){int i,j,n,w,x,y;char a[5],b[5];scanf("%d",&n); while(n){ scanf("%s%s",a,b);\x05x=fabs(b[0]-a[0]);\x05y=fabs(b[1]-a[1]);if(x==y&&x==0&&y==0)printf("0 0 0 0\n");else if(x==y&

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 14:01:26
北大acm1657题为什么老是wa,测试时是对的?#include#includemain(){inti,j,n,w,x,y;chara[5],b[5];scanf("%d",&n);while(n)

北大acm1657题为什么老是wa,测试时是对的?#include #include main(){int i,j,n,w,x,y;char a[5],b[5];scanf("%d",&n); while(n){ scanf("%s%s",a,b);\x05x=fabs(b[0]-a[0]);\x05y=fabs(b[1]-a[1]);if(x==y&&x==0&&y==0)printf("0 0 0 0\n");else if(x==y&
北大acm1657题为什么老是wa,测试时是对的?
#include
#include
main()
{
int i,j,n,w,x,y;
char a[5],b[5];
scanf("%d",&n);
while(n)
{
scanf("%s%s",a,b);
\x05x=fabs(b[0]-a[0]);
\x05y=fabs(b[1]-a[1]);
if(x==y&&x==0&&y==0)
printf("0 0 0 0\n");
else if(x==y&&x!=0&&y!=0)
{
\x05 printf("%d 1 2 1\n",x);\x05
}\x05
else if(x==0&&y!=0)
printf("%d 1 1 Inf\n",y);
else if(y==0&&x!=0)
printf("%d 1 1 Inf\n",x);
else if(x!=0&&y!=0&&x!=y)
{
\x05 if(x>y)
w=x;
else
w=y;
printf("%d 2 2 Inf\n",w);
}
n--;
} \x05\x05
}

北大acm1657题为什么老是wa,测试时是对的?#include #include main(){int i,j,n,w,x,y;char a[5],b[5];scanf("%d",&n); while(n){ scanf("%s%s",a,b);\x05x=fabs(b[0]-a[0]);\x05y=fabs(b[1]-a[1]);if(x==y&&x==0&&y==0)printf("0 0 0 0\n");else if(x==y&
判断逻辑有问题,我修改了你的代码,AC
#include
#include
#define max(a,b)(a>b?a:b)
int main()
{
int i,j,n,w,x,y;
char a[5],b[5];
scanf("%d",&n);
while(n--)
{
scanf("%s %s",a,b);
\x05x=fabs(b[0]-a[0]);
\x05y=fabs(b[1]-a[1]);
if(x==0&&y==0){
\x05\x05\x05printf("0 0 0 0\n");
\x05\x05\x05continue;
\x05\x05}
\x05\x05else{
\x05\x05\x05printf("%d",max(x,y));
\x05\x05\x05if(x==0||y==0||x==y)printf(" 1");
\x05\x05\x05else printf(" 2");
\x05\x05\x05if(x==0||y==0)printf(" 1");
\x05\x05\x05else printf(" 2");
\x05\x05\x05if(x==y)printf(" 1\n");
\x05\x05\x05else if(abs(x-y)%2!=0)printf(" Inf\n");
\x05\x05\x05else printf(" 2\n");
\x05\x05}
}
return 0;
}

为什么x=0且y不等于0的时候象就是inf
这不对吧