我真的要疯了 看不出来哪里出问题了啊qwq
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,x,y,z,x1,y1,z1,z2=0,x2=0,y2=0;
char n,m,h;
scanf("%d",&i);
for(j=0;j<i;j++)
{
getchar();
getchar();
h=getchar();
if(h>=97&&h<=99)
{
scanf("%d %d",&x,&y);
switch(h)
{
case'a':
m=h;
x1=x;
y1=y;
z=x+y;
z1=z;
if(x1<=0)
x2++;
if(y1<=0)
y2++;
if(z1<=0)
z2++;
while (x1)
{
x2++;
x1/=10;
}
while (y1)
{
y2++;
y1/=10;
}
while (z1)
{
z2++;
z1/=10;
}
printf("%d+%d=%d\n",x,y,z);
printf("%d\n",2+x2+y2+z2);
z2=x2=y2=0;
break;
case 'b':
m=h;
x1=x;
y1=y;
z=x-y;
z1=z;
if(x1<=0)
x2++;
if(y1<=0)
y2++;
if(z1<=0)
z2++;
while (x1)
{
x2++;
x1/=10;
}
while (y1)
{
y2++;
y1/=10;
}
while (z1)
{
z2++;
z1/=10;
}
printf("%d-%d=%d\n",x,y,z);
printf("%d\n",2+x2+y2+z2);
z2=x2=y2=0;
break;
default:
m=h;
x1=x;
y1=y;
z=x*y;
z1=z;
if(x1<=0)
x2++;
if(y1<=0)
y2++;
if(z1<=0)
z2++;
while (x1)
{
x2++;
x1/=10;
}
while (y1)
{
y2++;
y1/=10;
}
while (z1)
{
z2++;
z1/=10;
}
printf("%d*%d=%d\n",x,y,z);
printf("%d\n",2+x2+y2+z2);
z2=x2=y2=0;
break;
}
}
else
{
h=h-'1'+1;
scanf("%d %d",&x,&y);
int a,s=0;
while(x!=0)
{
a=x%10;
x=x/10;
s=10*s+a;
}
s=s*10+h;
while(s!=0)
{
a=s%10;
s=s/10;
x=10*x+a;
}
switch(m)
{
case'a':
x1=x;
y1=y;
z=x+y;
z1=z;
if(x1<=0)
x2++;
if(y1<=0)
y2++;
if(z1<=0)
z2++;
while (x1)
{
x2++;
x1/=10;
}
while (y1)
{
y2++;
y1/=10;
}
while (z1)
{
z2++;
z1/=10;
}
printf("%d+%d=%d\n",x,y,z);
printf("%d\n",2+x2+y2+z2);
z2=x2=y2=0;
break;
case 'b':
x1=x;
y1=y;
z=x-y;
z1=z;
if(x1<=0)
x2++;
if(y1<=0)
y2++;
if(z1<=0)
z2++;
while (x1)
{
x2++;
x1/=10;
}
while (y1)
{
y2++;
y1/=10;
}
while (z1)
{
z2++;
z1/=10;
}
printf("%d-%d=%d\n",x,y,z);
printf("%d\n",2+x2+y2+z2);
z2=x2=y2=0;
break;
default:
x1=x;
y1=y;
z=x*y;
z1=z;
if(x1<=0)
x2++;
if(y1<=0)
y2++;
if(z1<=0)
z2++;
while (x1)
{
x2++;
x1/=10;
}
while (y1)
{
y2++;
y1/=10;
}
while (z1)
{
z2++;
z1/=10;
}
printf("%d*%d=%d\n",x,y,z);
printf("%d\n",2+x2+y2+z2);
z2=x2=y2=0;
}
}}}