表示式求值 遞迴

2022-09-20 01:39:08 字數 1109 閱讀 5155

下面是**實現

#include #include 

#include

using

namespace

std;

intfactor_value();

intterm_value();

intexpression_value();

intmain()

intexpression_value()

else

} else

}return

result;

}int

term_value()

else

}else

} return

result;

}int

factor_value()

else

}result result;

}

這裡乙個乙個函式進行解釋:

1,第乙個函式是功能是求出表示式的值並返回值。首先要先得到第乙個項的值(上面的圖有說了表示式的組成),接下來設計乙個迴圈,在迴圈中取出輸入流中的下乙個元素看看是不是加或者減,cin.peek()函式是會得到第乙個元素的返回值,但是不會將元素給取出來的,如果是的話進入if中,用cin.get()可以去掉輸入流中的頭乙個元素。這個去掉的元素就是加號,然後呢把加號後面的項加到result裡面去。如果不是加號或者減號就break掉。

2,第二個函式和第乙個函式一樣只是把加號和減號換成乘號和除號而已。

3,第三個函式是求因子的,因子有兩種可能,第一中是左括號加上表示式加上右括號,第二種是數字的形式(前面有說到)。首先看第一種形式,還是一樣把輸入流中的第乙個元素拿出來看,是不是左括號,如果是的話把左括號去掉算乙個resul = 表示式,再把右括號去掉。如果是數字的話就設計乙個迴圈把數字轉成乙個數。

表示式求值(遞迴)

給定乙個只包含加法和乘法的算術表示式,請你程式設計計算表示式的值。輸入僅有一行,為需要你計算的表示式,表示式中只包含數字 加法運算子 和乘法運算子 且沒有括號,所有參與運算的數字均為 0 到 231 1 之間的整數。輸入資料保證這一行只有 0 9 這 12 種字元。輸入樣例 1 1 1 3 4 輸入...

表示式求值(遞迴)

題目 輸入為四則運算表示式,僅由整數 組成,沒有空格,要求求其值。假設運算子結果都是整數。結果也是整數。include include include using namespace std 讀入乙個因子並返回其值 intfactor value 讀入乙個項並返回其值 intterm value 讀...

表示式求值(遞迴演算法)

問題描述 見下圖 程式 題目描述 表示式求值 遞迴演算法 表示式 1 可以是乙個項 2 也可以由多個項通過加減構成 項 1 項本身可以是乙個因子 2 項也可以由若干個因子通過乘除組成 因子 1 因子本身可以是乙個數字 2 因子也可以由表示式加上括號組成 include include include...