用C语言cos(x)= 0! x 0 − 2! x 2 + 4! x 4 − 6! x 6 +…
时间: 2024-03-08 10:48:49 浏览: 90
以下是用C语言编写的利用展开式求余弦函数近似值的程序:
```c
#include <stdio.h>
#include <math.h>
double factorial(int n) {
if (n == 0) {
return 1.0;
} else {
return n * factorial(n - 1);
}
}
double cos_approx(double x) {
double res = 0.0, term = 1.0;
int i = 0;
while (fabs(term) >= 1e-10) {
res += term;
i += 2;
term *= -x * x / (factorial(i) * factorial(i - 1));
}
return res;
}
int main() {
double x;
printf("请输入x:\n");
scanf("%lf", &x);
printf("cos(%lf)的近似值为:%lf\n", x, cos_approx(x));
return 0;
}
```
程序中的 `factorial` 函数用于计算阶乘。 `cos_approx` 函数用于计算余弦函数的近似值。它采用了 while 循环,每次将当前项加入结果中,然后计算下一项,直到最后一项的绝对值小于 1e-10,此时循环结束,返回结果。
在主函数中,首先获取用户输入的 x,然后调用 `cos_approx` 函数计算余弦函数的近似值,并输出结果。
注意,此程序中需要用到 math.h 头文件中的 fabs 函数,用于计算绝对值。此外,为了保证精度,循环的终止条件使用了一个较小的数值 1e-10。
阅读全文