52分蒟蒻求大佬指点
查看原帖
52分蒟蒻求大佬指点
480345
like_rain楼主2021/7/15 14:21
#include<bits/stdc++.h>
using namespace std;
char fc;//方程 
int pd=1;//判断正负 
int cd=1;//数组长度 
int a[1000];//储存每一个数 
char wzs;
double xs=0;
int main()
{
	while(fc!='=')
	{
		fc=getchar();
		if(fc=='-') 
		{
			pd=-1;
			cd++;
		}
		if(fc=='+')
		{
			pd=1;
			cd++;
		}
		if(fc>='0'&&fc<='9')
		{
			if(cd==1)
			{
				a[cd]=(fc-'0')*pd;
			}
			else
			{
				a[cd]=a[cd]*10+(fc-'0')*pd;
			} 
		}
		if(fc>='a'&&fc<='z')
		{
			wzs=fc;
			if(a[cd]!=0)
			{
				xs+=a[cd];
				a[cd]=0;
			}
			else
			{
				xs+=pd;
			}
			cd--;
		}
	}
	int dh=cd;
	cd++;
	pd=1;
	while(fc!='\n')
	{
		fc=getchar();
		if(fc=='-') 
		{
			pd=-1;
			cd++;
		}
		if(fc=='+')
		{
			pd=1;
			cd++;
		}
		if(fc>='0'&&fc<='9')
		{
			if(cd==1)
			{
				a[cd]=(fc-'0')*pd;
			}
			else
			{
				a[cd]=a[cd]*10+(fc-'0')*pd;
			} 
		}
		if(fc>='a'&&fc<='z')
		{
			wzs=fc;
			if(a[cd]!=0)
			{
				xs-=a[cd];
				a[cd]=0;
			}
			else
			{
				xs-=pd;
			}
			cd--;
		}
	}
	double num=0;
	for(int i=1;i<=cd;i++)
	{
		if(i<=dh)
		{
			num-=a[i];
		}
		else
		{
			num+=a[i];
		}
	}
	double zhi=num/xs;
	printf("%c",wzs);
	printf("=%.3f",zhi);
	//cout<<wzs<<"="<<zhi;
	return 0;
}

WA了1、3、5三个点

2021/7/15 14:21
加载中...