标签:sam span 运算符 优先 rip 优先级 简单 break 输入
1+2*10-10/2= 1+3*5/2-7=
10 3
代码如下:
#include<bits/stdc++.h> using namespace std; int main(){ char str[1000]; while(gets(str)!=NULL){ int i; int result=0; int temp=0; int flag=0; char c; for(i=0;str[i]!=‘\0‘;i++) { if(‘0‘<=str[i]&&str[i]<=‘9‘){ temp=temp*10+str[i]-‘0‘; } else{ if(flag==1){ switch (c){ case ‘+‘: result+=temp; temp=0; c=str[i]; break; case ‘-‘: result-=temp; temp=0; c=str[i]; break; case ‘*‘: result*=temp; temp=0; c=str[i]; break; case ‘/‘: result/=temp; temp=0; c=str[i]; break; } } else{ result=temp; temp=0; c=str[i]; flag=1; } } } cout<<result<<endl; } return 0; }
ZSTUOJ刷题⑥:Problem 3535.--模拟简单计算器
标签:sam span 运算符 优先 rip 优先级 简单 break 输入
原文地址:https://www.cnblogs.com/Xuou7/p/14791025.html