下面**:
#include#include#include #include#include #include #include #includeusing namespace std;
#define maxn 1000
using namespace std;
stacks; //定義了乙個棧,
char tempstr[1000];//儲存字尾表示式的字串
char *tranfexp(char* exp)
else if(exp[i] == '(' ) //如果是左括號及入棧
else if(exp[i] == ')' ) //如果是右括號就把接近棧頂的左括號上面所有的運算子出棧存進字串中 左括號出棧
else}}
else if(exp[i] == '+' || exp[i] == '-') //如果的事+-|操作符就把比他優先順序高或者等於的所有運算子出棧進入字串
else
break;
}s.push(exp[i]);
}else if(exp[i] == '*' || exp[i] == '/') //類似於掃瞄到+- 只是如果棧中有=-運算子就不用出棧 因為運算子優先順序比較小
else
break;
}s.push(exp[i]);
}i++;
}while(s.empty() == false) //把棧中剩餘的所有運算子出棧
tempstr[j] = 0; //最後乙個賦值為0 也就是字串結束的標誌
return tempstr; //返回已經得到的字尾表示式
}int calcexp(char* exp)// 計算字尾表示式
else if(exp[i] == '-')
else if(exp[i] == '+')
else if(exp[i] == '/')
else if(exp[i] == '*')
i++;
}/* while(s.empty() == false)
*/return s.top();
}void init()
if(num1 == 2)
else}}
printf("\n按任意鍵繼續。。。。。。");
getch();
system("cls");
init();
}return 0;
}
資料結構課程設計 算術表示式求值
題目 編制乙個用算符優先法對算術表示式求值的程式 evaluate expression include include includeusing namespace std int a 7 7 存放運算子的優先順序,3為 2為 1為 bool isoperator char optr 判斷是否操作...
C 算術表示式的求值 資料結構課程設計
資料結構課程設計 算術表示式的求值1.在課程設計中提高學生的動手能力和程式設計能力 2.在課程設計中提高資料結構中理論知識 棧和二叉樹等知識 的應用。3.在課程設計中提高自己對各個方面知識的綜合能力。乙個算術表示式是由運算元 operand 運算子 operator 和界限符 delimiter 組...
資料結構課程設計 用棧實現表示式求值的方法詳解
1 需求分析 設計乙個程式,演示用算符優先法對算術表示式求值的過程。利用算符優先關係,實現對算術四則混合運算表示式的求值。1 輸入的形式 表示式,例如2 3 4 包含的運算子只能有 2 輸出的形式 運算結果,例如2 3 4 14 3 程式所能達到的功能 對表示式求值並輸出 2 系統設計 1 棧的抽象...