来自用户输入的双指数

时间:2016-04-20 07:00:38

标签: c exponent

所以我的问题涉及到double,我试图从用户的小数点获取任何值的输入,其指数也在小数点,以在另一个函数中计算后显示结果,其中变量将值传递为double并且我也使用了双倍输出,但最终结果是1.00000,即使我已将输出说明符用作%lf%。

#include <stdio.h>

double pwra (double, double);

int main()
{
    double number, power, xx;

    printf("Enter Number: ");
    scanf("%lf", &number);

    printf("Enter Number: ");
    scanf("%lf", &power);

    xx=pwra (number,power);

    printf("Result: %lf", xx);

    return 0;
} 

double pwra (double num, double pwr)
{
    int count;
    int result = 1;

    for(count=1;count<=pwr;count++)
    {
        result = result*num;
    }
    return result;
}

1 个答案:

答案 0 :(得分:1)

您在result函数中使用了错误的pwrs()类型。

变化:

int result = 1;

为:

double result = 1.0;

请注意,如果您学习使用调试器,则很容易识别出这种类型的简单错误。进一步阅读:How to debug small programs

另请注意,pwr应为int,而不是double,因为您的函数仅适用于整数指数。