用C语言编写sinx的近似值,精确到10^(-6)

来源:百度知道 编辑:UC知道 时间:2024/05/03 01:43:58
sinx=x-x^3/3!+x^5/5!-x^7/7!+…+

给,已经编译运行确认:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double Factorial(int n) //求?乘
{
int i=0;
double factorical=1;
if(n==0)
return 1;
for(i=1;i<=n;i++)
factorical=factorical*i;

return factorical;

}

double Mysin(double x)
{
int m = 1, sign = 1;
double t, sum = 0;

while ( fabs(t = sign * pow(x, 2*m -1) / Factorial(2*m - 1)) > 1e-6)
{
sum += t;
++m;
sign *= -1;
}

return sum;
}

int main()
{
double x;
printf("please input x: \n");
scanf("%lf",&x);
printf("%lf\n", Mysin(x));
system("pause");
return 0;
}