Belarus @ 2019-10-10 16:33:35
哪里出问题了QAQ
#include<bits/stdc++.h>
using namespace std;
int s[10010];
int main(){
char c;
int top=0,ss,x,y;
while(c!='@'){
c=getchar();
if(c=='+') x=s[top],y=s[--top],s[top]=y+x;
else if(c=='-') x=s[top],y=s[--top],s[top]=y-x;
else if(c=='*') x=s[top],y=s[--top],s[top]=y*x;
else if(c=='/') x=s[top],y=s[--top],s[top]=y/x;
else if(c=='.') s[++top]=ss,ss=0;
else ss=(ss<<3)+(ss<<1)+(c^48);
}
cout<<s[top];
return 0;
}
by Belarus @ 2019-10-10 16:39:47
最诡异的是下面这组数据
3.5.2.-*7.+@
我的输出:
16
标准输出:
16
但是我WA了!!!!!
by 0nullptr @ 2019-11-08 14:30:38
@Belarus
给ss赋初值试试
by Belarus @ 2019-11-08 14:33:40
@一个python屑 竟然过了好恐怖qwq
by fzwfzwfzw @ 2019-11-08 14:34:06
#include<bits/stdc++.h>
using namespace std;
stack <int> stk;
int main(){
char c;
int ans=0;
while((c=getchar())!='@')
{
if(c>='0'&&c<='9')
{
ans=ans*10+c-'0';
}
if(c=='.')
{
stk.push(ans);
ans=0;
}
if(c=='-')
{
int a=stk.top();
stk.pop();
int b=stk.top();
stk.pop();
stk.push(b-a);
}
if(c=='*')
{
int a=stk.top();
stk.pop();
int b=stk.top();
stk.pop();
stk.push(b*a);
}
if(c=='+')
{
int a=stk.top();
stk.pop();
int b=stk.top();
stk.pop();
stk.push(b+a);
}
if(c=='/')
{
int a=stk.top();
stk.pop();
int b=stk.top();
stk.pop();
stk.push(b/a);
}
}
cout<<stk.top()<<endl;
return 0;
}
by fzwfzwfzw @ 2019-11-08 14:34:22
学会使用C++STL
by fzwfzwfzw @ 2019-11-08 14:34:46
虽然说我的码风有点奇怪
by Belarus @ 2019-11-08 14:39:51
@一念之间、、 谢谢qwq