c 字尾表示式求值,資料結構 字尾表示式求值是用 C 語言編寫的

發布 科技 2024-05-13
6個回答
  1. 匿名使用者2024-01-28

    您可以使用記事本的比較工具快速檢視兩段文字之間的差異。

  2. 匿名使用者2024-01-27

    #include

    using namespace std;

    #include

    #include

    #define add 43

    #define subs 45

    #define mult 42

    #define div 47

    #define maxsize 100

    typedef struct

    stkzone;

    typedef stkzone *stk;

    typedef enum boo;

    typedef enum status;

    stkzone expstkzone;

    stk expstk;

    stk initstk(stkzone *stack_zone)status push(int*term,stk pstk)/*push*/

    bool emptystk(stk pstk)status pop(int *pdata,stk pstk)}void synerror()

    int eval(int a1,int a2,char tag)}int main()

    else if((c==add)||c==subs)||c==mult)||c==div))

    else/*while*/

    if(!(emptystk(expstk)))synerror();

    printf("=%-3d",temp);

    return 0;

    *main_end*/

    執行程式以檢視您輸入的 c 值,然後重新設計它。

  3. 匿名使用者2024-01-26

    我會的,我可以幫你寫!

  4. 匿名使用者2024-01-25

    維護乙個堆疊,指標從前面到最後遍歷的表示式,如果它是乙個數字,則按下堆疊。

    如果是操作,則將其解堆、計算,並將結果壓縮。

    計算機很容易進行數學運算。

  5. 匿名使用者2024-01-24

    通過乙個處理單字元數字的簡單示例來演示遞迴的概念。

    如果需要,只需將其更改為用空格分隔字串即可。

    #include

    using namespace std;

    int calc(char *expr, int len) }int main()

  6. 匿名使用者2024-01-23

    將中綴表示式轉換為等效的字尾表示式後,可以從左到右掃瞄字尾表示式,而無需在計算時考慮運算子的優先順序。 具體評估步驟如下:從左到右掃瞄字尾表示式,取出表示式中運算子的前兩個運算元,遇到運算子時運算,再將結果帶回字尾表示式; 繼續掃瞄,直到字尾表示式的最後乙個表示式。

    例如,字尾表示式 (abc*+def* -) 的計算是字尾表示式的計算演算法。

    設定乙個堆疊,從堆疊為空開始,然後從左到右掃瞄字尾表示式,如果遇到運算元,則進入堆疊; 如果遇到運算子,則從堆疊中退出兩個元素,第乙個出口放置在運算子的右側,第二個出口放置在運算子的左側,然後將操作結果放入堆疊中,直到掃瞄字尾表示式。 此時,堆疊中只有乙個元素,這是操作的結果。

    例如,要查詢字尾表示式的值:1 2 + 8 2 - 7 4 - *,堆疊將按如下方式更改:

相關回答
29個回答2024-05-13

只是說它是乙個簡單的計算器。

需要堆疊知識。 >>>More

30個回答2024-05-13

樓主不用頭暈,以上就對。你的老師是對的。 >>>More

11個回答2024-05-13

總結。 30名乘客同舟共濟,由於超載嚴重,加上風浪大,極其危險; 於是船長告訴乘客,只有把船上的一半乘客扔進海浬,剩下的才能活下來。 無奈之下,大家只好同意這個方法,約定30個人圍成乙個圓圈,從第乙個人開始,順時針數,數到第9個,然後把他扔進海浬,然後從他的下乙個數字開始數,逆時針數到第5個人,把他扔進海浬,然後從他的下乙個逆時針數開始, 順時針數到第 9 個人,然後把他扔進海浬,依此類推,直到剩下 15 名乘客。 >>>More

22個回答2024-05-13

計算左邊的不等式 1+3>3 為真。

右邊的不等式是 5%2==1,其中 % 表示 % 之前的數字除以 % 後的數字,計算該等式的餘數,因此 5 除以 2 得到 2,餘數為 1。 >>>More

12個回答2024-05-13

int a=4;float x=,y=;

a+(int)((int)(x)+y)>>int)(x-y) 首先計算最裡面的 int x 為 7,然後 7+ 計算為 11x-y,然後計算為 2 >>>More