c++编程题:给你一个非负整数x,计算并返回x的算术平方根结果只保留整数
时间: 2024-11-15 18:28:59 浏览: 29
在C++编程中,如果需要计算给定非负整数 `x` 的算术平方根并仅保留整数部分,你可以使用 `<cmath>` 库中的 `sqrt()` 函数。这个函数返回一个 double 类型的结果,表示输入数的平方根。为了得到整数结果,你需要将其转换为 int 类型,但需要注意的是,如果原始 `x` 的平方根是一个整数而存在小数部分(例如 4 和 9),转换后的结果会向下取整。
下面是一个简单的示例:
```cpp
#include <iostream>
#include <cmath>
int sqrtToInt(int x) {
if (x < 0) {
// 非负整数的要求
return -1; // 或者抛出异常,取决于你的需求和处理策略
}
else {
double squareRoot = std::sqrt(x);
// 使用 floor() 函数来获取整数部分,向下取整
int result = static_cast<int>(std::floor(squareRoot));
return result;
}
}
int main() {
int num = 16; // 测试例子
int root = sqrtToInt(num);
std::cout << "The integer part of the square root of " << num << " is " << root << std::endl;
return 0;
}
```
阅读全文