编写C语言程序,实现正弦函数。公式描述:sin(x)=x-x3/3!+x5/5!-x7/7! …。要求,输入一个实数x,计算上面公式的前10项和。输出:一个实数,即数列的前10项和,结果保留3位小数。
时间: 2024-11-25 17:10:14 浏览: 19
在C语言中,你可以使用循环结构和数学库(math.h)来编写一个程序,计算正弦函数的泰勒级数前10项和。以下是一个简单的示例:
```c
#include <stdio.h>
#include <math.h>
double factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
double sin_taylor_series(double x, int terms) {
double sum = 0.0;
for (int i = 0; i <= terms; ++i) {
double term = pow(-1, i) * pow(x, 2 * i + 1) / factorial(2 * i + 1);
sum += term;
}
return sum;
}
int main() {
double x;
printf("请输入一个实数x: ");
scanf("%lf", &x);
int terms = 10;
double result = sin_taylor_series(x, terms);
// 保留3位小数
result = round(result * 1000) / 1000.0;
printf("数列的前%d项和为: %.3f\n", terms, result);
return 0;
}
```
在这个程序中,我们首先定义了一个`factorial`函数用于计算阶乘,然后定义了`sin_taylor_series`函数计算泰勒级数。在`main`函数中,用户输入`x`值,然后计算并打印出前10项的和。
阅读全文