C++ 实现求 x 的 k 次方 (不使用 pow 函数)
以下是使用 C++ 编写的程序来实现求 x 的 k 次方,不使用系统库函数 pow:
#include <iostream>
double power(double x, int k) {
if (k == 0) { // 0 的任何次方为 0
return 0;
} else if (x == 0) { // 任何非 0 数的 0 次方为 1
return 1;
} else if (k > 0) { // k 为正数
double result = 1;
for (int i = 0; i < k; i++) {
result *= x;
}
return result;
} else { // k 为负数
double result = 1;
for (int i = 0; i > k; i--) {
result /= x;
}
return result;
}
}
int main() {
double x;
int k;
std::cout << "请输入实数 x:";
std::cin >> x;
std::cout << "请输入整数 k:";
std::cin >> k;
double result = power(x, k);
std::cout << "x 的 k 次方为:" << result << std::endl;
return 0;
}
这个程序用到了一个power函数,用于计算 x 的 k 次方。在main函数中,首先从键盘获取一个实数 x 和一个整数 k。然后调用power函数计算 x 的 k 次方,并将结果输出到屏幕上。注意,这里没有使用系统的库函数pow。
代码逻辑解释:
power函数首先判断 k 是否为 0,如果是,则返回 0。- 然后判断 x 是否为 0,如果是,则返回 1。
- 如果 k 为正数,则使用循环将 x 乘以自身 k 次,并将结果存储在 result 中。
- 如果 k 为负数,则使用循环将 1 除以 x 的绝对值 k 次,并将结果存储在 result 中。
- 最后返回 result。
本程序简单易懂,适合学习 C++ 编程和算法的初学者。
原文地址: https://www.cveoy.top/t/topic/bX2Q 著作权归作者所有。请勿转载和采集!