输入x(单位为“度”),求cosx的近似值(cosx = 1-x2/2!+x4/4!-x6/6!+x8/8!+……,当某项的绝对值小于10-6时循环终止。)c代码实现
时间: 2023-09-10 13:15:19 浏览: 252
java cos求近似值代码
5星 · 资源好评率100%
可以使用以下C代码实现:
```c
#include <stdio.h>
#include <math.h>
double cos_approx(double x) {
double result = 1.0;
double term = 1.0;
double power = x;
int i = 2;
while (fabs(term) > 1e-6) {
term *= -1.0 * power * power / (i * (i - 1));
result += term;
power *= x * x;
i += 2;
}
return result;
}
int main() {
double x = 30.0; // 求cos(30°)的近似值
double cos_x = cos_approx(x * M_PI / 180.0); // 将角度转换为弧度
printf("cos(%lf) = %lf\n", x, cos_x);
return 0;
}
```
其中,cos_approx函数使用了cosx的泰勒级数展开式,每一项的计算都在while循环中进行,直到某一项的绝对值小于10的-6为止。主函数中的角度x可以根据需要进行修改,最后将其转换为弧度传入cos_approx函数。
阅读全文