把第一个点下载出来了,自己试也没问题,但一评测就WA。。。
#include<stdio.h>
int main()
{
char c[10000];
char ch;
int a[10000];
a[0]=1;
int x,i,j,k,l=1,s=0,t=0;
float ans,ss,tt;
int p();
scanf("%c",&c[1]);
while(c[l]!=10)
{
l++;scanf("%c",&c[l]);
if(c[l]==43)a[l]=1;
if(c[l]==45)a[l]=2;
if(c[l]>45)a[l]=0;
if(c[l]==61){x=l;a[x]=1;}
if(c[l]>61)a[l]=7;
}
i=1;while(a[i]!=7)i++;ch=c[i];
for(i=1;i<x;i++)if(a[i]==7)
{
j=i-1;while(a[j]==0)j--;
for(k=i-1;k>j;k--){if(a[j]==1)s+=p(10,i-k-1)*(c[k]-48);else s-=p(10,i-k-1)*(c[k]-48);a[k]=9;}
a[i]=9;a[j]=9;
}
for(i=x-1;i>0;i--)if(a[i]==0)
{
j=i;while(a[j]==0)j--;
for(k=i;k>j;k--){if(a[j]==1)t-=p(10,i-k)*(c[k]-48);else t+=p(10,i-k)*(c[k]-48);a[k]=9;}
a[i]=9;a[j]=9;
}
for(i=x+1;i<l;i++)if(a[i]==7)
{
j=i-1;while(a[j]==0)j--;
for(k=i-1;k>j;k--){if(a[j]==1)s-=p(10,i-k-1)*(c[k]-48);else s+=p(10,i-k-1)*(c[k]-48);a[k]=9;}
a[i]=9;a[j]=9;
}
for(i=l-1;i>x;i--)if(a[i]==0)
{
j=i;while(a[j]==0)j--;
for(k=i;k>j;k--){if(a[j]==1)t+=p(10,i-k)*(c[k]-48);else t-=p(10,i-k)*(c[k]-48);a[k]=9;}
a[i]=9;a[j]=9;
}
tt=t;ss=s;ans=tt/ss;
printf("%c=%.3lf\n",ch,ans);
return 0;
}
int p(int x,int y)
{
int n=1,i;
for(i=0;i<y;i++)n*=x;
return(n);
}