c语言怎么用函数调用的方式求sin(x)级数的和

一直报错,是哪里错了呢。

代码里x的值是多少,始终没有给x确定的值。qiuhe()函数调用,第二个参数z是float型,与qiuhe()函数定义的形参数据类型不一致。

供参考:

#include <stdio.h>
#include <math.h>

float fact (int i); //求n!的函数
void  sinx (float x);

int main()
{
    float m,x;
    scanf ("%f",&x);

    m=sin(x);
    printf ("sin(%.6f)=%f\n",x,m);

    sinx(x);
    
    return 0;

}

float fact (int i)
{
    float j;
    float sum=1;
    for (j=1;j<=2*i+1;j++)
         sum=sum*j;
    return sum;

}

void sinx(float x)
{
    float sum=0;
    int i,j;
    float a[100];
    for (i=0;pow(x,2*i+1)/fact(i)>pow(10,-5);i++)//最后一项的绝对值小于10^-5
    {
        a[i]=(float)(pow(x,2*i+1)/fact(i));
    }
    for (j=0;j<=i;j++)
    {
        sum+=pow(-1,j)*a[j];
    }
    printf ("泰勒级sin(%.6f)=%f\n",x,sum);
}