用c语言编写利用公式 sin(x)=x-x^3/3!+x^5/5!-x^7/7!+x^9/9!...设计函数double sin(double x)计算sin(x)的值(精度要求为最后一项的绝对值小于10^-6),并编写main()函数进行测试。
时间: 2024-05-15 09:12:11 浏览: 86
c代码-c语言中的 sin 计算
以下是用 C 语言编写的计算 sin(x) 的函数和测试代码:
```c
#include <stdio.h>
#include <math.h>
double sin(double x) {
double result = 0.0;
double term = x;
int n = 1;
while (fabs(term) >= 1e-6) {
result += term;
term = -term * x * x / ((n + 1) * (n + 2));
n += 2;
}
return result;
}
int main() {
double x;
printf("请输入一个角度(单位为度):");
scanf("%lf", &x);
double radians = x * M_PI / 180.0;
double sin_value = sin(radians);
printf("sin(%lf) = %lf\n", x, sin_value);
return 0;
}
```
在该函数中,我们使用了泰勒级数展开式来计算 sin(x) 的值,每次计算一项,直到最后一项的绝对值小于 1e-6 为止。在 main 函数中,我们先输入一个角度 x(单位为度),将其转换为弧度制,然后计算 sin(x) 的值,并输出结果。
注意,为了使用 math.h 中的常量和函数,需要在编译时加上 -lm 选项,例如:
```
gcc -o sin sin.c -lm
```
如果你使用的是 Visual Studio 等 IDE,那么可以在编译选项中添加链接库 `libm` 。
阅读全文