#include //头文件置顶
#include
double fact(int n)
{
\x09double s = 1;
\x09for(int i = 1; i <= n; i++)
\x09{
\x09\x09s *= i;
\x09}
\x09return s;
}
double funcos(double e,int x)
{
\x09//运算次序要理清
\x09double cos = 0;
\x09double item = 1;
\x09int i = 0;
\x09int flag = 1;
\x09while(abs(item) >= e)
\x09{
\x09\x09item = flag * pow(double (x), 2 * i) / fact(2 * i);
\x09\x09cos += item;
\x09\x09flag *= -1;
\x09\x09i++;
\x09}
\x09return cos;
}
int main()
{
\x09int x = 0;
\x09double e = 0;
\x09printf("e: ");
\x09scanf("%lf",&e);
\x09printf("x: ");
\x09scanf("%d",&x);
\x09printf("cos(x) = %.3lf\n",funcos(e, x)); //唯一的缺陷就是3必须随e的变化手动改写
\x09return 0;
}
运行结果: