酷代码 AI
菜单
服务商

C++简单实现:只含加乘算术表达式求值,代码详解!

```cpp #include <iostream> #include <string> using namespace std; int main() { string expression; cin >> expression; long long result = 0; long long currentProduct = 1; long long currentNumber = 0; for (int i = 0; i <= expression.length(); i++) { if (i < expression.length() && isdigit(expression[i])) { currentNumber = currentNumber * 10 + (expression[i] - '0'); } else { currentProduct *= currentNumber; if (i == expression.length() || expression[i] == '+') { result += currentProduct; currentProduct = 1; } currentNumber = 0; } } result %= 10000; cout << result << endl; return 0; } ``` 代码解释 1. 读取输入:使用`cin`读取用户输入的算术表达式,存储在`string`类型的变量`expression`中。 2. 初始化变量: - `result`用于存储最终的计算结果。 - `currentProduct`用于存储当前连续乘法的结果。 - `currentNumber`用于存储当前正在处理的数字。 3. 遍历表达式: - 当遇到数字字符时,将其转换为数字并累加到`currentNumber`中。 - 当遇到运算符或表达式结束时,将`currentNumber`乘到`currentProduct`上。 - 如果遇到`+`运算符或者到达表达式末尾,将`currentProduct`累加到`result`中,并将`currentProduct`重置为 1。 4. 取模操作:计算完成后,对`result`取模 10000,确保结果只保留最后四位。 5. 输出结果:将最终结果输出。 ######[AI问答 | 437点数解答 | 2025-11-26 20:13:21]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]