酷代码 AI
菜单
服务商

C++输入一个小数 a,输出对小数 a 进行四舍五入保留指定位数后的结果。

以下是一个 C++ 程序,用于输入一个小数 `a` 并对其进行四舍五入保留指定位数: ```cpp #include <iostream> #include <iomanip> #include <cmath> // 函数用于四舍五入保留指定位数 double roundToPrecision(double num, int precision) { double factor = std::pow(10, precision); return std::round(num * factor) / factor; } int main() { double a; int precision; // 输入小数 std::cout << "请输入一个小数: "; std::cin >> a; // 输入要保留的位数 std::cout << "请输入要保留的小数位数: "; std::cin >> precision; // 调用函数进行四舍五入 double rounded = roundToPrecision(a, precision); // 输出结果 std::cout << "四舍五入保留 " << precision << " 位小数后的结果是: " << std::fixed << std::setprecision(precision) << rounded << std::endl; return 0; } ``` 代码说明: 1. `roundToPrecision` 函数:该函数接受两个参数,一个是要进行四舍五入的小数 `num`,另一个是要保留的小数位数 `precision`。函数内部先计算一个因子 `factor`,它是 10 的 `precision` 次幂。然后将 `num` 乘以 `factor`,使用 `std::round` 函数进行四舍五入,最后再除以 `factor` 得到最终结果。 2. `main` 函数: - 提示用户输入一个小数和要保留的小数位数。 - 调用 `roundToPrecision` 函数进行四舍五入。 - 使用 `std::fixed` 和 `std::setprecision` 来确保输出结果保留指定的小数位数。 复杂度分析: - 时间复杂度:$O(1)$,因为只涉及简单的算术运算和函数调用。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2026-01-07 17:44:21 | AI问答 | 502点数解答]

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