0分求助
  • 板块学术版
  • 楼主zhm20120707
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/12/18 22:22
  • 上次更新2023/12/19 13:24:58
查看原帖
0分求助
754584
zhm20120707楼主2023/12/18 22:22

P1022 [NOIP2000 普及组] 计算器的改良

出错了,但不知道哪里错了

#include <bits/stdc++.h>
using namespace std;
int main()
{
	string InputSTR;
	cin >> InputSTR;
	int StrLength = InputSTR.length();
	int Equals_SignPosition;
	for (int NowChar = 0 ; NowChar < StrLength ; NowChar++)if (InputSTR[NowChar] == '='){Equals_SignPosition = NowChar;break;}
	string StrLeft = "", StrRight = "";
	for (int NowChar = 0 ; NowChar < Equals_SignPosition ; NowChar++)StrLeft += InputSTR[NowChar];
	for (int NowChar = Equals_SignPosition + 1 ; NowChar < StrLength ; NowChar++)StrRight += InputSTR[NowChar];
	int StrLeftLength = StrLeft.length(), StrRightLength = StrRight.length();
	int Unknown_NumberSum = 0, NumberSum = 0;
	int Number = 0;
	bool Unknown_Number = 0;
	char UnkNown_NumberName;
	for (int NowNumber = StrLeftLength - 1 ; NowNumber >= 0 ; NowNumber--)
	{
		if (StrLeft[NowNumber] >= '0' && StrLeft[NowNumber] <= '9')
		{
			if (Unknown_Number)Unknown_Number = Unknown_Number * 10 + StrLeft[NowNumber] - '0';
			else Number = Number * 10 + StrLeft[NowNumber] - '0';
		}
		else if (StrLeft[NowNumber] == '+')Unknown_NumberSum += Unknown_Number, NumberSum += Number;
		else if (StrLeft[NowNumber] == '-')Unknown_NumberSum -= Unknown_Number, NumberSum -= Number;
		else UnkNown_NumberName = StrLeft[NowNumber];
	}
	for (int NowNumber = StrRightLength - 1 ; NowNumber >= 0 ; NowNumber--)
	{
		if (StrRight[NowNumber] >= '0' && StrRight[NowNumber] <= '9')
		{
			if (Unknown_Number)Unknown_Number = Unknown_Number * 10 + StrRight[NowNumber] - '0';
			else Number = Number * 10 + StrRight[NowNumber] - '0';
		}
		else if (StrRight[NowNumber] == '+')Unknown_NumberSum -= Unknown_Number, NumberSum -= Number;
		else Unknown_NumberSum += Unknown_Number, NumberSum += Number;
	}
	double PrintNumberSum = NumberSum / Unknown_NumberSum;
	cout << UnkNown_NumberName << '=' << fixed << setprecision(3) << PrintNumberSum;
	return 0;
}

希望各位大佬给点提示!

2023/12/18 22:22
加载中...