saixingzhe @ 2022-09-27 21:58:45
#include<bits/stdc++.h>
using namespace std;
char s[54];
int a[50],j;
int main(){
scanf("%s",s);
for(int i=0;i<strlen(s)-1;i++){
if('0'<=s[i]&&'9'>=s[i]) a[j++]=s[i]-'0';
if('+'==s[i]) j-=2,a[j]=a[j]+a[j+1],j++;
if('-'==s[i]) j-=2,a[j]=a[j]-a[j+1],j++;
if('*'==s[i]) j-=2,a[j]=a[j]*a[j+1],j++;
if('/'==s[i]&&a[j-1]!=0) j-=2,a[j]=a[j]/a[j+1],j++;
}
printf("%d",a[0]);
return 0;
}
by ud2_ @ 2022-09-27 22:08:12
操作数不一定是一位数。
by 任铭泽2009 @ 2022-10-23 20:41:07
操作数有可能是多位数 可以写一个函数 int f(string s) { int summ=0; for(int i=0;i<s.size();i++) { summ*=10; summ+=s[i]-'0'; } return summ; }