代码如下,不知为何T掉了
#include<bits/stdc++.h>
using namespace std;
int main()
{
register char ch(getchar()),C;
register int x(0),f(1),l_x(0),l_c(0),r_x(0),r_c(0),flag(0),is_f(1);
while(~ch)
{
if(ch^'-')
{
if(ch^'=')
{
if(ch^'+') {
if(ch>='a'&&ch<='z')
{
flag?(is_f?(r_x+=f):(r_x+=x*f)):(is_f?(l_x+=f):(l_x+=x*f));
is_f=0;
C=ch,x=0;
}
else{
if(ch^'\n') {
while (ch >= '0' && ch <= '9') x = (x << 1) + (x << 3) + (ch ^ 48), ch = getchar();
if ((!(~ch)) || ch < 'a' || ch > 'z') flag ? (r_c += x * f) : (l_c += x * f);
is_f = 0;
continue;
}
else break;
}
}
else f=1,x=0,is_f=1;
}
else{
flag=1,x=0,f=1,is_f=1;
}
}
else{
f=-1,x=0,is_f=1;
}
ch=getchar();
}
putchar(C);
const double ans((double)(l_c-r_c)/(r_x-l_x));
printf("=%.3lf",ans?ans:0);
return 0;
}
若某位大神看出了端倪,可以给我回话,感激不尽!