Online Compiler C

#include <stdio.h> float sinus(float x){ float sum=1.0f; float term=1.0f; int i=2; while (fabs(term)>=0.001){ term=-term*x*x/(i*(i-1)); sum+=term; i+=2; } return sum; }
这段代码试图计算正弦函数 sin(x) 的近似值,但存在一个关键错误:它从 1 开始累加,而正弦函数的泰勒展开第一项是 x,不是 1。同时,循环条件使用了 fabs 函数但没有包含对应的头文件。

- 检查泰勒展开公式:sin(x) 的第一项是 x,不是 1。你的初始 sum 和 term 都设为 1,这会导致结果从错误的位置开始累加。
- 注意 fabs 函数需要包含 <math.h> 头文件,否则编译会报错。