一行代码搞定!数字表达式乘加运算结果对 10000 取模输出
```cpp #include<bits/stdc++.h> // 使用标准命名空间 using namespace std; // 主函数,程序的入口点 int main() { // 定义一个字符串变量 s,用于存储输入的表达式 string s; // 从标准输入读取一个字符串到 s cin >> s; // 定义一个长整型变量 ans,用于存储最终的计算结果 long long ans = 0; // 定义一个长整型变量 a,用于存储乘法的中间结果 long long a = 1; // 定义一个长整型变量 b,用于存储当前连续数字组成的数值 long long b = 0; // 遍历字符串 s 的每一个字符 for (int i = 0; i <= s.length(); i++) { // 如果当前字符是数字且未遍历到字符串末尾 if (i < s.length() && isdigit(s[i])) { // 将当前数字累加到 b 中,更新 b 的值 b = b * 10 + (s[i] - '0'); } else { // 将当前连续数字组成的数值 b 乘到乘法中间结果 a 上 a *= b; // 如果遍历到字符串末尾或者当前字符是加号 if (i == s.length() || s[i] == '+') { // 将乘法中间结果 a 累加到最终结果 ans 上 ans += a; // 将乘法中间结果 a 重置为 1 a = 1; } // 将当前连续数字组成的数值 b 重置为 0 b = 0; } } // 对最终结果 ans 取模 10000 ans %= 10000; // 输出最终结果 ans 到标准输出 cout << ans << endl; // 主函数正常结束,返回 0 return 0; } ``` 这段代码的核心功能是计算一个由数字、加号和乘号组成的表达式的值,并且在计算过程中只处理乘法和加法,最后将结果对 10000 取模输出。它遵循乘法优先于加法的运算规则。例如,对于输入 `3+4*5`,程序会先计算 `4*5 = 20`,再计算 `3 + 20 = 23`,最后输出 `23 % 10000 = 23`。 ######[AI问答 | 570点数解答 | 2025-11-26 20:26:12]
- 递归下降语法分析程序实例:从文法到 C 代码的完整实现(字节豆包 | 1371点数解答 | 2024-12-12 22:46:04)262
- 易语言子程序 TriggerCode 代码详解:通配符查找与结果运算(字节豆包 | 607点数解答 | 2026-02-09 11:59:34)35
- SQL 实现:精准查询 20 岁选课学生学号、姓名、平均与总成绩(去重取最高) (字节豆包 | 116点数解答 | 2024-10-21 00:46:57)212
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)36
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)41
- C++ 实现:输入任意小数求其绝对值,附代码与逻辑详解(字节豆包 | 229点数解答 | 2025-07-20 15:22:18)339
- C++ 实现:输入任意数,轻松输出其绝对值!附代码及详细解释(字节豆包 | 311点数解答 | 2025-10-25 20:10:16)101
- Python 编程:计算 n 个正整数中小于 x 的数的总和(字节豆包 | 233点数解答 | 2025-08-02 21:35:03)295
- C++ 实现:计算 n 个正整数中小于 x 的数的总和及注意事项(字节豆包 | 255点数解答 | 2025-08-02 21:35:27)204
- C++实现:计算n个正整数中小于x的数的总和(字节豆包 | 341点数解答 | 2025-08-02 21:52:19)257
- C++实现找出3×4矩阵中最大值及其位置(字节豆包 | 714点数解答 | 2026-03-08 22:12:11)17
- C++实现找出3×4矩阵中最大元素及其位置(字节豆包 | 243点数解答 | 2026-03-21 23:20:48)1