面試題45 字串四則運算的實現

2021-06-18 06:12:56 字數 827 閱讀 7997

題目:有字串表示的乙個四則運算表示式,要求計算出該表示式的正確數值。

說明:1. 四則運算即加減乘除"+-*/"

2. 該表示式中的數字只能是

1位(數值範圍

0~9)

3.另若有不能整除的情況,按向下取整處理,

eg: 8/3

得出值為2。

例如:若有字串"8+7*2-9/3"

,計算出其值為19。

**如下:

#include "stdafx.h"

#include #include #include int cal(int nnum1, char op, int nnum2)

if(op == '-')

if(op == '*')

if(op == '/') }

int calculate(int len, char *expstr)

char *p = expstr;

int nnum1 = p[0] - '0';

char op = p[1];

int nnum2 = p[2] - '0';

p += 3;

while(*p)

else

}else

p += 2; }

return cal(nnum1, op, nnum2);

}int main()

字串 四則運算

題目大意 有字串表示的乙個四則運算表示式,要求計算出該表示式的正確數值。四則運算即 加減乘除 另外該表示式中的數字只能是1位 數值範圍0 9 另若有不能整除的情況,按向下取整處理,eg 8 3得出值為2。若有字串 8 7 2 9 3 計算出其值為19。2012年華為上機的乙個題目 題目思路 建立棧分...

字串的四則運算

public string addstrings string num1,string num2 if b 0 tmp 10 return sb.reverse tostring 題目二 字串相減 給定兩個字串形式的非負整數 num1 和num2 計算它們的差。預設num1比num2大 注 不能使用...

字串的四則運算

四則運算,最常用的當然是逆波蘭方法,現將表示式由中綴表示式轉化為字尾表示式,然後再使用棧計算即可。這兩步下來,估計沒有三四百行 是實現不了的。中綴表示式轉字首字尾表示式 將中綴表示式轉換為字尾表示式的演算法思想 數字時,加入字尾表示式 運算子 a.若為 入棧 b.若為 則依次把棧中的的運算子加入字尾...