c语言程序设计,练习6-4求cos的近似值,希望会的大神手写给我看看,非常感谢

如题所述

第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;
}

本回答被网友采纳