#include<bits/stdc++.h>
using namespace std;
int main(){
char c;char name;int flag=1;int f=1;int x=0;int weizhishu=0;int yizhishu=0;
while(cin>>c){
if(c=='+'){yizhishu+=x*f*flag;/*cout<<f<<endl;cout<<yizhishu<<endl;*/x=0;f=1;continue;}
if(c=='-'){yizhishu+=x*f*flag;x=0;f=-1;/*cout<<f<<endl;*/continue;}
if(c>='0'&&c<='9'){x=10*x+c-'0';continue;}
if(isalpha(c)){name=c;if(x==0)x=1;weizhishu+=flag*f*x;x=0;f=1;continue;}
if(c=='='){yizhishu+=x*f*flag;x=0;f=1;flag=-1;continue;}
}yizhishu+=flag*f*x;
//cout<<yizhishu<<" "<<weizhishu<<endl;
cout<<name<<"="<<fixed<<setprecision(3)<<-1.0*yizhishu/weizhishu;
return 0;
}
P1022 [NOIP2000 普及组] 计算器的改良 题解(字符串处理&&模拟)
于 2023-07-11 21:54:51 首次发布