輸入一個字串表示式,輸出計算結果
阿新 • • 發佈:2019-01-05
輸入一個字串,裡面包含 + - × 和0——9,保證每個輸入的字串都可以輸出結果,計算字串的值
例如,輸入 1+2×3-4,輸出 3
#include <iostream> using namespace std; int ConvertToRes(char* str) { int result=0; char* index=str; int a=0; int b=1; char flag='+'; bool isMul=false; while (*index!='\0') { if(*index=='+' || *index=='-' || *index=='*') { if(*index=='*') { b*=a; isMul=true; a=0; } else { if(flag=='+') { if(isMul) { result+=(b*a); b=1; a=0; } else { result+=a; a=0; } } if(flag=='-') { if(isMul) { result-=(b*a); b=1; a=0; } else { result-=a; a=0; } } flag=*index; } } else a=10*a+(*index-'0'); ++index; } if(flag=='+') { if(isMul) result+=(b*a); else result+=a; } if(flag=='-') { if(isMul) result-=(b*a); else result-=a; } return result; } void main() { cout<<ConvertToRes("3+1*2*3*4+9-10"); }