程式很簡單,用棧實現,把中綴表示式轉換成字尾表示式是關鍵,從下午2點除錯到晚上6點,中間洗了一次澡,發現vs2010的除錯功能很強大,一開始用標準庫的stack,發現在判別的時候會出現問題,具體是在棧空的時候,呼叫s.top()會出現錯誤,所以通過乙個字元陣列和乙個整數來自己模仿指標的話這個錯誤就會避免 。下面是源**。
//#include "stdafx.h"
#include#include#include#include#include#includeusing namespace std;
const int max_strlen=256;
const int max_stacksize=256;
void infixtosuffix(const char* infix,char *suffix);
bool compute(const char*suffix);
int _tmain(int argc, _tchar* argv)
else if(ch=='&')
else if(ch=='!')
else if(ch=='v')
s.push(true);
else if(ch=='f')
s.push(false);
i++;
ch=suffix[i];
} return s.top();
}
布林表示式
布林表示式 boolean expression 是一段 宣告,它最終只有true 真 和false 假 兩個取值。從最基本的層次來說,所有的布林表示式,不論它的長短如何,其值只能是true或false。最簡單的布林表示式是等式 equality 這種布林表示式用來測試乙個值是否與另乙個值相同。它可...
翻譯布林表示式
翻譯布林表示式time limit 1000 ms memory limit 65536 kib problem description 大家都學過了布林表示式的翻譯,其中有乙個拉鍊 回填技術,這次我們就練習這個技術。input 多組輸入,每組輸入為一行字串,例如 a b or c d and e ...
翻譯布林表示式
time limit 1000 ms memory limit 65536 kib submit statistic problem description 大家都學過了布林表示式的翻譯,其中有乙個拉鍊 回填技術,這次我們就練習這個技術。input 多組輸入,首先輸入乙個整數t,代表資料組數。接下來...