本地测试:(下载第一个测试点的数据)
输入:
1
a 99 999
输出:
99+999=1089
然而
Wrong Answer.worng answer On line 1 column 6,read 5,except 9.
明明样例全对,提交后全部WA,QWQ
#include<stdio.h>
#include<string.h>
int len(int n)
{
int x=1;
if(n<0)
{
n=-n;
while(n!=0)
{
n/=10;
x++;
}
}
if(n>0)
{
x--;
while(n!=0)
{
n/=10;
x++;
}
}
return x;
}
int main()
{
int i,j,k;
int e=0,f=0,l,ln;
int p;
char n[51][18];
scanf("%d",&i);
for(j=0;j<=i;j++)
{
gets(n[j]);
}
for(j=1;j<=i;j++)
{
l=strlen(n[j]);
k=0;
e=0,f=0;
if(n[j][k]=='a') {p=1;k+=2;}
if(n[j][k]=='b') {p=2;k+=2;}
if(n[j][k]=='c') {p=3;k+=2;}
while(n[j][k]!=' '&&n[j][k]!='\0')
{
e=e*10+(n[j][k]-48);
k++;
}
k++;
while(k<l)
{
f=f*10+(n[j][k]-48);
k++;
}
switch(p)
{
case 1:{ln=len(e)+len(f)+len(e+f)+2;printf("%d+%d=%d\n%d\n",e,f,e+f,ln);break;}
case 2:{ln=len(e)+len(f)+len(e-f)+2;printf("%d-%d=%d\n%d\n",e,f,e-f,ln);break;}
case 3:{ln=len(e)+len(f)+len(e*f)+2;printf("%d*%d=%d\n%d\n",e,f,e*f,ln);}
}
}
return 0;
}