启动不支持C99的C语言环境,设计二个子函数,利用级数之和分别计算sinX和cosX, 要求精度为10-6。在主函数中求(sin30O+ cos60O)。
时间: 2023-06-27 12:03:16 浏览: 80
以下是使用泰勒级数计算sinX和cosX的程序代码:
```c
#include <stdio.h>
#include <math.h>
double mySin(double x)
{
double sum = x, term = x;
int i = 1;
while (fabs(term) > 1e-6) {
term *= -x * x / (2 * i) / (2 * i + 1);
sum += term;
i++;
}
return sum;
}
double myCos(double x)
{
double sum = 1, term = 1;
int i = 1;
while (fabs(term) > 1e-6) {
term *= -x * x / (2 * i - 1) / (2 * i);
sum += term;
i++;
}
return sum;
}
int main()
{
double sin30 = mySin(30 * M_PI / 180);
double cos60 = myCos(60 * M_PI / 180);
double result = sin30 + cos60;
printf("sin30 + cos60 = %lf\n", result);
return 0;
}
```
其中,`mySin()`和`myCos()`分别计算sinX和cosX的值,使用while循环实现级数之和的计算,当每一项的绝对值小于10的负6次方时,停止循环。在主函数中,我们可以调用这两个函数来计算(sin30O+ cos60O)的值,并输出结果。需要注意的是,我们需要将角度转换为弧度,这里使用了`M_PI`常量来表示π。
阅读全文