为什么就是输出零 裂开了
查看原帖
为什么就是输出零 裂开了
226483
King__Norman楼主2021/11/17 17:04

代码

#include<bits/stdc++.h>
using namespace std;
stack <long> p;
char a[10001];
int sum,w,s,ans,k;
int main()
{
	gets(a);
	for(int i=0;a[i]!='@';i++)
	{
		if(a[i]=='.')
		{
			s=0;
			k=1;
			for(int j=i-1;j>=0&&a[i]>='0'&&a[i]<='9';j--) s+=(a[j]-48)*k,k*=10;
			p.push(s);
			continue;
		}
		else
		  if(a[i]>='0'&&a[i]<='9') continue;
		else
		{
			sum=p.top();
	    	p.pop();
	    	if(a[i]=='+') sum+=p.top();
	    	else
	    	if(a[i]=='-') sum=(p.top()-sum);
	    	else
	    	if(a[i]=='*') sum=(sum*p.top());
	    	else
	    	if(a[i]=='/') sum=(p.top()/sum);
	    	p.pop();
	    	p.push(sum);
		}
	    	
	}
	printf("%d",p.top());
	return 0;
}
2021/11/17 17:04
加载中...