題目:編制乙個用算符優先法對算術表示式求值的程式
//evaluate expression
#include#include#includeusing namespace std;
int a[7][7] = ; //存放運算子的優先順序,3為》,2為<,1為=
bool isoperator(char optr) //判斷是否操作符
}int crd(char c) //尋找字元所在的行列座標
}char preced(char a, char b) //判斷運算子的優先關係
}int push_opnd(double *&opnd, char *&expr, int top_opnd, int i) //運算元壓棧
if(expr[j] == '.')
}opnd[top_opnd] = suma + sumb;
return j;
}void operate(double *&opnd, char *&optr, int top_opnd, int top_optr)
opnd[top_opnd - 2] /= opnd[top_opnd - 1];
break;
}}int main()
else if(isoperator(expr[i]))
} }
cout << opnd[0] << endl;
delete expr;
delete opnd;
delete optr;
system("pause");
return 0;
}
C 算術表示式的求值 資料結構課程設計
資料結構課程設計 算術表示式的求值1.在課程設計中提高學生的動手能力和程式設計能力 2.在課程設計中提高資料結構中理論知識 棧和二叉樹等知識 的應用。3.在課程設計中提高自己對各個方面知識的綜合能力。乙個算術表示式是由運算元 operand 運算子 operator 和界限符 delimiter 組...
表示式求值課程設計
下面 include include include include include include include includeusing namespace std define maxn 1000 using namespace std stacks 定義了乙個棧,char tempstr ...
資料結構課程設計 用棧實現表示式求值的方法詳解
1 需求分析 設計乙個程式,演示用算符優先法對算術表示式求值的過程。利用算符優先關係,實現對算術四則混合運算表示式的求值。1 輸入的形式 表示式,例如2 3 4 包含的運算子只能有 2 輸出的形式 運算結果,例如2 3 4 14 3 程式所能達到的功能 對表示式求值並輸出 2 系統設計 1 棧的抽象...