对于作业,我需要编写 ac 程序,使用泰勒级数展开找到输入角的余弦,它上升到第 50 项(意味着最后一项是 x^100/100!)。到目前为止,我一直在尝试使用 for 循环,也尝试了 while 循环,但我一直得到不正确的答案。我已经有了工作功率和阶乘函数,并且我已经有了以弧度表示的角度值,我只是不明白如何格式化循环以便得到合乎逻辑的答案。
这是我向用户询问角度、将角度转换为弧度并调用函数的部分:
printf("Enter an angle measure in degrees to find the cosine value:\n");
scanf("%lf",&angle);
angle = angle * (M_PI/180);
result = myCos(angle);`
这是功能:
long double myCos(double x)
{
long double result = 0;
double term = 0;
int k = 0;
for(k = 2;k <= 100;k += 2)
{
term = power(x,k)/factorial(k);
}
result = 1 - term;
return(result);
}
有人可以告诉我我做错了什么吗?