#include<stdio.h>
#include<math.h>
int main(void)
{
double x, e,cosx;
double funcos(double e,int x);
printf("e: ");
scanf("%lf",&e);
printf("x: ");
scanf("%lf",&x); //這里是%lf
cosx=funcos(e,x);
printf("cos(x)=%.3f\n",cosx);
return 0;
}
double funcos(double e,int x)
{
int flag,a,i;
double sum,item;
double fact(int n);
item=1; //這個初始化要大于e,否則不執(zhí)行下面
flag=1;
a=0;
i=0;
sum=0;
while(fabs(item)>=e){
item=(flag*pow(x,a))/fact(i);
sum=sum+item;
flag=-flag;
a=a+2;
i=i+2;
}
return sum;
}
double fact(int n)
{
int i;
double result;
result=1;
for(i=1;i<=n;i++){
result=result*i;
}
return result;
}