以下是使用 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++ 编程和算法的初学者。

C++ 实现求 x 的 k 次方 (不使用 pow 函数)

原文地址: https://www.cveoy.top/t/topic/bX2Q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录