版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jingmin52296358al/article/details/86061917
1.利用泰勒公式求cos(x)=1-x2/2!+x4/4!-……公式已给,重要的就是注意细节(比如阶乘的存储最好用double类型),二级C语言的难度。 |
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
double a[8];
double getfactorial(int n)
{
double sum=1;
if(n==1||n==0)return sum;
for(int i=2;i<=n;i++)
sum=sum*i;
return sum;
}
double getcos(double x)
{
double sum=0;
double flag=1;
double temp=1;
int i=0;
while(fabs(temp)>=1e-6)
{
temp=flag*(double)pow(x,i)/getfactorial(i);
i=i+2;
flag=flag*(-1);
sum=sum+temp;
printf("%lf %lf\n",temp,sum);
}
return sum;
}
int main()
{
double x;
double cos;
scanf("%lf",&x);
cos=getcos(x);
printf("%lf\n",cos);
return 0;
}