大神,帮小弟看看我这个c++代码
这是杭电1237题,我验证时没发现错误,但是就是不能AC,就大神指点一下,谢谢#include<iostream>#include<iomanip>usingnamesp...
这是杭电1237题,我验证时没发现错误,但是就是不能AC,就大神指点一下,谢谢
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double data[100];
char buf[100];
int bcur=0,dcur=0;
double n;
char temp;
while(cin>>n,cin.get(temp),n!=0||temp!='\n')
{
data[dcur++]=n;
do
{
cin>>temp>>n;
if(temp=='+'||temp=='-')
{
buf[bcur++]=temp;
data[dcur++]=n;
}
else if(temp=='*')
data[dcur-1]*=n;
else if(temp=='/')
data[dcur-1]/=n;
}while(cin.get(temp),temp!='\n');
while(bcur>0)
{
if(buf[bcur-1]=='+')
data[dcur-2]+=data[dcur-1];
else if(buf[bcur-1]=='-')
data[dcur-2]-=data[dcur-1];
bcur--;
dcur--;
}
cout.setf(ios::fixed);
cout.precision(2);
cout<<data[0]<<endl;
dcur=0;
bcur=0;
}
return 0;
} 展开
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double data[100];
char buf[100];
int bcur=0,dcur=0;
double n;
char temp;
while(cin>>n,cin.get(temp),n!=0||temp!='\n')
{
data[dcur++]=n;
do
{
cin>>temp>>n;
if(temp=='+'||temp=='-')
{
buf[bcur++]=temp;
data[dcur++]=n;
}
else if(temp=='*')
data[dcur-1]*=n;
else if(temp=='/')
data[dcur-1]/=n;
}while(cin.get(temp),temp!='\n');
while(bcur>0)
{
if(buf[bcur-1]=='+')
data[dcur-2]+=data[dcur-1];
else if(buf[bcur-1]=='-')
data[dcur-2]-=data[dcur-1];
bcur--;
dcur--;
}
cout.setf(ios::fixed);
cout.precision(2);
cout<<data[0]<<endl;
dcur=0;
bcur=0;
}
return 0;
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询