有没有哪位愿意帮我看看我的代码😭
这是题目
我代码能通过题目给的样例,但是测试点全红,看了好久没发现哪里的错误,哪位能帮我看看吗万分感谢!
#include <stdio.h>
int len(int x);
int main(void)
{
int i, j, k, ans[50], x[50]={0}, y[50]={0}, flag, length[50]={0};
char ch[50][100]={'\0'};
scanf("%d", &i);
getchar();
for(j=0; j<i; j++)
{
for (k = 0; (ch[j][k] = getchar())!='\n'; k++)
{}
}
for(j=0; j<i; j++)
{
if(ch[j][0]=='a' || ch[j][0]=='b' || ch[j][0]=='c')
{
flag = 0;
k = 2;
}
else
{
flag = 1;
k = 0;
}
for ( ; ch[j][k]!=' '; k++)
{
x[j] = x[j] * 10 + (ch[j][k]-'0');
}
for (k+=1; ch[j][k] !='\n'; k++)
{
y[j] = y[j] * 10 + (ch[j][k] - '0');
}
if (flag)
ch[j][0] = ch[j-1][0];
switch(ch[j][0])
{
case 'a':
case '+':
ch[j][0] = '+';
ans[j] = x[j] + y[j];
break;
case 'b':
case '-':
ch[j][0] = '-';
ans[j] = x[j] - y[j];
break;
case 'c':
case '*':
ch[j][0] = '*';
ans[j] = x[j] * y[j];
break;
}
}
for(j=0; j<i; j++)
{
length[j] = 2 + len(x[j]) + len(y[j]) + len(ans[j]);
if (ans[j] < 0)
length[j] += 1;
printf("%d%c%d=%d\n", x[j], ch[j][0], y[j], ans[j]);
printf("%d\n", length[j]);
}
return 0;
}
int len(int x)
{
if(x)
return 1+len(x/10);
else
return 0;
}