C语言编程根据泰勒公式,sinx可用x/1-x3/3!+x5/5!-x7/7!...+(-1)n-1x2n-1/(2n-1)!近似计算,取n=10,求sinx的值。
时间: 2023-11-18 20:05:37 浏览: 145
GA.rar_GA_GA 最大值 x,y_genetic position _精度0.0001_遗传算法sinx
下面是C语言代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
double x, result = 0;
int n = 10, i;
printf("请输入x的值:");
scanf("%lf", &x);
x = fmod(x, 2 * M_PI); // 将x转换为[-π, π]区间内的值
for (i = 1; i <= n; i++) {
double term = pow(-1, i - 1) * pow(x, 2 * i - 1) / tgamma(2 * i);
result += term;
}
printf("sin(%.4f) ≈ %.4f\n", x, result);
return 0;
}
```
代码中使用了math.h库中的pow和tgamma函数,分别用于计算幂和阶乘。其中fmod函数用于将x转换为[-π, π]区间内的值,以避免溢出。运行程序后,输入x的值,即可得到sinx的近似值。
阅读全文