C - 在不使用Pow的情况下为指数编写函数

时间:2013-03-07 07:16:11

标签: c

我有这个程序:

#include <stdio.h>

long int x_to_the_n (int x,int n)
{
    int i; 
    int number;


 int i; 
int i = 1;

for (i = 0; i < n; ++i)
    x = x*x;

return(number);
}

int main()
{
    int number;
    int exponent;
    int answer;

    printf  ("Enter a number: ");
    scanf ("%i", &number);

    printf  ("Enter a number that represents the power you want your number to be raised     to: ");
    scanf ("%i", &exponent);

    answer = x_to_the_n(number,exponent); 

    printf("X To The N is %li",answer);

    return 0;
}

现在,函数x_to_the_n没有正确地等同x ^ n ...我想知道是否有人建议在不使用c pow库函数的情况下计算x到n。

1 个答案:

答案 0 :(得分:9)

试试这个:

long int x_to_the_n (int x,int n)
{
    int i; /* Variable used in loop counter */
    int number = 1;

    for (i = 0; i < n; ++i)
        number *= x;

    return(number);
}