用C语言参考实验4.3(3)用泰勒级数求sin(x)的近似值(直到某项的绝对值小于1e-5),要求显示各项的具体数值及累计的项数。试用泰勒级数求cos(x)的近似值,要求显示各项的具体数值及累计的项数。
时间: 2024-05-07 07:15:14 浏览: 10
以下是用C语言编写的代码:
```
#include <stdio.h>
#include <math.h>
int main()
{
double x, sinx, cosx, term, sum;
int i;
printf("请输入x的值(弧度制):");
scanf("%lf", &x);
// 计算sin(x)
sinx = 0;
term = x;
sum = term;
i = 1;
printf("sin(x)的近似值为:\n");
printf("第%d项:%lf\n", i, term);
while (fabs(term) >= 1e-5)
{
i++;
term = -term * x * x / (2 * i - 1) / (2 * i - 2);
sum += term;
printf("第%d项:%lf\n", i, term);
}
sinx = sum;
printf("共计%d项,近似值为:%lf\n", i, sinx);
// 计算cos(x)
cosx = 0;
term = 1;
sum = term;
i = 0;
printf("\n");
printf("cos(x)的近似值为:\n");
printf("第%d项:%lf\n", i+1, term);
while (fabs(term) >= 1e-5)
{
i++;
term = -term * x * x / (2 * i - 1) / (2 * i);
sum += term;
printf("第%d项:%lf\n", i+1, term);
}
cosx = sum;
printf("共计%d项,近似值为:%lf\n", i, cosx);
return 0;
}
```
运行程序后,输入需要计算的x的值(弧度制),程序会依次输出每一项的值及累计的项数,最终输出sin(x)和cos(x)的近似值。例如,当输入x=1.2时,程序的输出如下:
```
请输入x的值(弧度制):1.2
sin(x)的近似值为:
第1项:1.200000
第2项:-0.216000
第3项:0.019008
第4项:-0.000850
第5项:0.000025
共计5项,近似值为:0.932039
cos(x)的近似值为:
第1项:1.000000
第2项:-0.240000
第3项:0.008928
第4项:-0.000198
第5项:0.000003
共计4项,近似值为:0.362358
```