减号为什么判断不了
查看原帖
减号为什么判断不了
890257
CarlosProvo楼主2023/12/20 11:47
#include<bits/stdc++.h>
using namespace std;
char fc[114514],y;
int dhp,flag,op,num,p;
double xs,cs;
int qpow(int base,int power)
{
	long long int result=1;
	while(power>0)
	{
		if(power&1)
		{
			result*=base;
		}
		base*=base;
		power>>=1;
	}
	return result;
}
int main()
{
	cin>>fc;
	for(int i=0;i<strlen(fc);i++)
	{
		if(fc[i]=='=')
		{
			dhp=i;
			break;
		}
	}
	for(int i=0;i<strlen(fc);i++)
	{
		if(fc[i]>='0'&&fc[i]<='9'&&flag==0)
		{
			flag=1;
			op=i;
		}
		else if(!(fc[i]>='0'&&fc[i]<='9')&&flag==1)
		{
			num=0;
			flag=0;
			p=0;
			for(int j=i-1;j>=op;j--)
			{
				num+=int(fc[j]-'0')*qpow(10,p);
				p++;
			}
			if(fc[op-1]=='-'&&op!=0)num-=2*num;
			if(fc[i]!='+'&&fc[i]!='-'&&fc[i]!='=')
			{
				y=fc[i];
				if(i<dhp)xs+=num;
				else if(i>dhp)xs-=num;
			}
			else
			{
				if(i<dhp)cs+=num;
				else if(i>dhp)cs-=num;
			}
		}
	}
	cout<<y<<'='<<fixed<<setprecision(3)<<cs/xs;
	return 0;
}

其他的问题各位大牛帮忙看一下

2023/12/20 11:47
加载中...