92分,#5挂了
查看原帖
92分,#5挂了
230243
syf2008楼主2020/11/4 19:58
#include <bits/stdc++.h>
using namespace std;
long long ss=0,x[5];
string a;
char s;
int main()
{
	getline(cin,a);
	for(int i=0;i<a.size();i++)
	if(a[i]>='0'&&a[i]<='9')
	x[ss]=x[ss]*10+(a[i]-'0');
else if(a[i]=='?')
	x[ss]=-1e18;
else if(a[i]=='+'||a[i]=='-'||a[i]=='/'||a[i]=='*')
	{s=a[i];ss++;}
else if(a[i]=='=')
	ss++;
	if(x[0]==-1e18)
	switch(s)
	{
	case '+':printf("%.2lf",(double)x[2]-x[1]);break;
	case '-':printf("%.2lf",(double)x[2]+x[1]);break;
	case '*':printf("%.2lf",(double)x[2]/x[1]);break;
	case '/':printf("%.2lf",(double)x[2]*x[1]);break;
	}
else if(x[1]==-1e18)
	switch(s)
	{
	case '+':printf("%.2lf",(double)x[2]-x[0]);break;
	case '-':printf("%.2lf",(double)x[2]+x[0]);break;
	case '*':printf("%.2lf",(double)x[2]/x[0]);break;
	case '/':printf("%.2lf",(double)x[0]/x[2]);break;
	}
else switch(s)
	{
	case '+':printf("%.2lf",(double)x[0]+x[1]);break;
	case '-':printf("%.2lf",(double)x[0]-x[1]);break;
	case '*':printf("%.2lf",(double)x[0]*x[1]);break;
	case '/':printf("%.2lf",(double)x[0]/x[1]);break;
	}
	return 0;
}
2020/11/4 19:58
加载中...