酷代码 AI
菜单
服务商

用c++简单的while语句解决:禾木想要输入a和b,并计算出n=a+b。请帮他编写一个程序,计算n的最高位是多少。 输入: 两个整数a和b。

```cpp #include <iostream> #include <cmath> using namespace std; int main() { int a, b; cin >> a >> b; int n = a + b; if (n == 0) { cout << 0; return 0; } if (n < 0) { n = -n; } int base = 1; while (n / base >= 10) { base *= 10; } int highestDigit = n / base; cout << highestDigit; return 0; } ``` 代码解释: 1. 输入处理: - 定义变量 `a` 和 `b`,并使用 `cin` 读取用户输入的两个整数。 - 计算 `a` 和 `b` 的和存于 `n`。 2. 特殊情况处理: - 如果 `n` 为 0,最高位就是 0,直接输出并结束程序。 - 如果 `n` 为负数,将其转化为正数,因为负数的最高位和其绝对值的最高位相同。 3. 计算最高位对应的量级: - 初始化 `base` 为 1,表示当前量级。 - 通过 `while` 循环,只要 `n / base` 大于等于 10,就将 `base` 乘以 10,不断增大量级,直到 `base` 达到 `n` 最高位对应的量级。 4. 计算最高位并输出: - 用 `n` 除以 `base` 得到最高位。 - 使用 `cout` 输出最高位。 [2025-12-12 20:11:13 | AI问答 | 398点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多