给我一段求sin的近似值的c语言代码
时间: 2024-05-02 21:20:41 浏览: 259
c代码-c语言中的 sin 计算
下面是一个例子,使用泰勒级数近似求解 sin x 的值,其中 x 为弧度制:
```
#include <stdio.h>
#include <math.h>
double my_sin(double x) {
double sinx = 0.0;
int i, j;
for (i = 1, j = 0; j < 10; i += 2, j++) {
if (j % 2 == 0) {
sinx += pow(x, i) / (double)factorial(i);
} else {
sinx -= pow(x, i) / (double)factorial(i);
}
}
return sinx;
}
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
double x, ans;
printf("请输入一个角度(弧度制):");
scanf("%lf", &x);
ans = my_sin(x);
printf("sin(%lf) ≈ %lf\n", x, ans);
return 0;
}
```
这段代码通过泰勒级数公式,对 sin x 进行了 10 次求和。当 x 比较小的时候,使用泰勒级数求近似值比较精确。注意,由于精度有限,当 x 较大时,误差将会比较大。
阅读全文