注册 登录
编程论坛 C语言论坛

計算數學公式的編譯錯誤問題

adssc 发布于 2020-02-06 16:43, 1833 次点击
程序代码:

#include<stdio.h>
#include<stdlib.h>

double power(double base,int n)
{
    int i;
    double pow=1.0;
    for(i=1;i<=n;i++)
    {
        pow=pow*base;
    }
    return pow;
}

int fac(int n)
{
    int i,sum=1;
    for(i=1;i<=n;i++)
    {
        sum=sum*i;
    }
    return sum;

}

double my_fun(double x,int n)
{
    int k;
    double sum=0.;
    for(k=1;k<=n;k++)
    {
            sum=sum+power(-1,k)*power(x,2k+1)/fac(2k+1);
    }
    return sum;
}

int main()
{
    printf("my_fun(2.2,3)=%f\n",my_fun(2.2,3));
    printf("my_fun(2.2,5)=%f\n",my_fun(2.2,3));
    system("pause");
    return 0;
}


這句出現編譯錯誤: sum=sum+power(-1,k)*power(x,2k+1)/fac(2k+1);

錯誤訊息:error: fixed-point types not supported for this target
1 回复
#2
纯蓝之刃2020-02-06 17:02
sum=sum+power(-1,k)*power(x,2*k+1)/fac(2*k+1);
1