2010年第一题

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}

猜你喜欢

转载自blog.csdn.net/jingmin52296358al/article/details/86061917
今日推荐