用泰勒展开式计算sin

#include<stdio.h>
#include<math.h>
double fact(int m);
int main()
{
    double sum,x,item;
    double PI;    
    int n,flag,m;
    PI=3.1415926;
    scanf("%lf",&x);
    x=(PI/180)*x;
    item=1.0;
    sum=0;
    flag=1;
    m=1;
    while(fabs(item)>=0.00001){
        item=flag*(pow(x,m)/fact(m));
        sum=sum+item;
        flag=-flag;
        m=m+2;
    }
    printf("%lf\n",sum);
    return 0;
}
double fact(int m){
    int i;
    double result;
    result=1;
    for(i=1;i<=m;i++){
        result=result*i;
    }
    return result;
}

 

posted @ 2013-12-02 11:02  dihuanting  阅读(1516)  评论(0编辑  收藏  举报