四則運算 華為機試 C C

2021-08-28 02:39:31 字數 1157 閱讀 7099

請實現如下介面

/* 功能:四則運算

* 輸入:strexpression:字串格式的算術表示式,如: "3+2*"

* 返回:算術表示式的計算結果

publicstaticintcalculate(string strexpression)

/* 請實現*/

return0;

約束:pucexpression字串中的有效字元包括[『0』-『9』],『+』,『-』, 『*』,『/』 ,『(』, 『)』,『[』, 『]』,『』。

pucexpression算術表示式的有效性由呼叫者保證; 

輸入乙個算術表示式

得到計算結果

示例1

3+2*
25
#include#include#include#includeusing namespace std;

int main()

i--;

numcnt.push_back(tmp);

}else if (s[i] == '-' || s[i] == '+')

opera.push(s[i]);

}else if (s[i] == '*' || s[i] == '/')

opera.push(s[i]);

}else if (s[i] == '(' || s[i] == '[' || s[i] == '

opera.pop();

}else if (s[i] == ']')

opera.pop();

}else if (s[i] == '}')

opera.pop();

}else

cout << "invalid input!" << endl;

} while (!opera.empty())

//計算字尾表示式的值

stacknums;

int ind = 0;

for (int i = 0; i= '0'&&s1[i] <= '9')

else

}cout << nums.top() << endl;

}}

華為機試 四則運算

題目 四則運算 問題描述 輸入乙個只包含個位數字的簡單四則運算表示式字串,計算該表示式的值 注 3.1 表示式只含 四則運算符,不含括號 3.2 表示式數值只包含個位整數 0 9 且不會出現0作為除數的情況 3.3 要考慮加減乘除按通常四則運算規定的計算優先順序 3.4 除法用整數除法,即僅保留除法...

華為機試簡單四則運算

簡單四則運算 問題描述 輸入乙個只包含個位數字的簡單四則運算表示式字串,計算該表示式的值 注 1 表示式只含 四則運算符,不含括號 2 表示式數值只包含個位整數 0 9 且不會出現0作為除數的情況 3 要考慮加減乘除按通常四則運算規定的計算優先順序 4 除法用整數除法,即僅保留除法運算結果的整數部分...

華為機試 四則運算(陣列解決)

題目 四則運算 問題描述 輸入乙個只包含個位數字的簡單四則運算表示式字串,計算該表示式的值 注 3.1 表示式只含 四則運算符,不含括號 3.2 表示式數值只包含個位整數 0 9 且不會出現0作為除數的情況 3.3 要考慮加減乘除按通常四則運算規定的計算優先順序 3.4 除法用整數除法,即僅保留除法...