编写没有POW或乘法的指数函数

时间:2019-03-27 20:43:01

标签: c++ function exponent

我试图编写一个函数,该函数接受两个输入参数并计算将第一个输入的值提高到第二个输入的值的结果,并返回结果。不允许使用乘法运算符(*)进行乘法运算,也不允许使用任何直接产生幂运算结果的内置C ++功能。

数据类型:该函数对于两个输入均为正数,零或一以及第二个输入为负数时均正确工作。我的回报永远是0我在做什么错

#include <iostream>

using namespace std;

int exp(int, int);

int main()
{
    int num1, // to store first number
        num2, // to store second number
        value = 0;

    // read numbers
    cout << "Enter first number: ";
    cin >> num1;
    cout << "Enter second number: ";
    cin >> num2;

    // call function
    exp(num1, num2);

    // print value
    cout << "The value of " << num1 << " to the " << num2 << " is: " << value << endl << endl;

    system("pause");
    return 0;
}

// function definition
int exp(int a, int b)
{
    int result = 0;

    for (int i = 0; i < a; i++)
    {
        result += b;
    }
    return result;
}

1 个答案:

答案 0 :(得分:1)

是的,您实现的不是乘幂运算,而是每次都得到0的原因是您没有将函数调用的返回值存储在value变量中,而是每次都输出0。