第1个回答 2017-04-23
#include <stdio.h>
int fact(int n){
if(n==1 || n==0)
return 1;
return n*fact(n-1);
}
double power(double x,int n){
int i;
double s;
for(s=1.0,i=0;i<n;s*=x,i++);
return s;
}
int main(int argc,char *argv[]){
int n,i;
double x,cos,t;
printf("Input n(int 0<n<13) & x(R:-6.28<=x<=6.28)...\n");
if(scanf("%d%lf",&n,&x)!=2 || n<1 || n>11 || x<-6.28 || x>6.28){
printf("Input error, exit...\n");
return 0;
}
for(cos=i=0;i<n;i++){
t=power(x,i<<1)/fact(i<<1);
cos += i&1 ? -t : t;
}
printf("cos(%.2f) ≈ %f\n",x,cos);
return 0;
}本回答被网友采纳