請實現如下介面
/* 功能:四則運算
* 輸入: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 除法用整數除法,即僅保留除法...