一个点也没对,真尴尬,昨天在做今天还在做
查看原帖
一个点也没对,真尴尬,昨天在做今天还在做
775551
caojiaming楼主2022/9/3 11:01

我看了题解后整理出了一组代码

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
string f;
char k,a;
int nov=1,t=1,z,b,m;
bool num;
int main()
{
	cin>>f;
	int l=f.length();
	for(int i=1;i<=l;i++)
	{
		k=f[i];
		if(k=='-')
		{
			b+=t*nov*m;
			m=0;
			t=-1;
			num=false;
		}
		if(k=='+')
		{
			b+=t*nov*m;
			m=0;
			t=1;
			num=false;
		}
		if(k=='=')
		{
			b+=t*nov*m;
			m=0;
			t=1;
			num=false;
		}
		if(k>='a'&&k<='z')
		{
			if(num)
			{
				z+=t*nov*m;
				m=0;
			}
			else
			{
				z+=nov*t;
			}
			a=k;
			num=false;
		}
		if(k>='0'&&k<=9)
		{
			m=m*10+k-'0';
			num=true;
		}
	}
	b+=nov*t*m;
	double ans=(double)(-b*1.0/k);
	if(ans==-0.0)
	{
		ans=0;
	}
	printf("%c=%.3f",a,ans);
	return 0;
}

结果提交评测时一个也没对,又将这些代码用Dev-c++打开, 运行结果出现一些奇葩的字符,比如:"x=nan", 你可以试一下,把代码纠正一下。

2022/9/3 11:01
加载中...