再发一次
查看原帖
再发一次
1294759
Leon111楼主2024/9/20 19:56

code

#include<bits/stdc++.h>
using namespace std;
int xs,zxs;
int sz[1001],wz,zf;
char dr,wzs;
int main()
{
	xs=0.0;
	zxs=0.0;
	memset(sz,0,sizeof(sz));
	wz=0;
	zf=1;
	cin>>dr;
	while(dr!='=')
	{
		if(dr=='+')
		{
			zf=1;
			wz++;
		}
		if(dr=='-')
		{
			zf=-1;
			wz++;
		}
		if(dr<='9'&&dr>='0')
		{
			if(sz[wz]!=0)    sz[wz]*10+(dr-'0')*dr;
			else    sz[wz]=(dr-'0')*dr;
		}
		if(dr<='z'&&dr>='a')
		{
			wzs=dr;
			if(sz[wz])
			{
				zxs+=sz[wz];
				sz[wz]=0;
				wz--;
			}
			else    zxs+=dr;
		}
		cin>>dr;
	}
	for(int i=0;i<=wz;i++)    xs-=sz[i];
	cin>>dr;
	memset(sz,0,sizeof(sz));
	wz=0;
	while(dr!='\n')
	{
		if(dr=='+')
		{
			zf=1;
			wz++;
		}
		if(dr=='-')
		{
			zf=-1;
			wz++;
		}
		if(dr<='9'&&dr>='0')
		{
			if(sz[wz]!=0)    sz[wz]*10+(dr-'0')*dr;
			else    sz[wz]=(dr-'0')*dr;
		}
		if(dr<='z'&&dr>='a')
		{
			if(sz[wz])
			{
				zxs-=sz[wz];
				sz[wz]=0;
				wz--;
			}
			else    zxs-=dr;
		}
		cin>>dr;
	}
	for(int i=0;i<=wz;i++)    xs+=sz[i];
	if(!(xs/zxs))    cout<<wzs<<"=0.000";
	else    printf("%c=%.3lf",wzs,xs/zxs);
	return 0;
}

评测结果:Time Limit Exceeded
此代码是参考题解写的

2024/9/20 19:56
加载中...