求余弦函数的近似值 求纠错请纠错,不要给出一大段别人的正确的代码……输入一个正整数 repeat (0

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 16:06:39
求余弦函数的近似值 求纠错请纠错,不要给出一大段别人的正确的代码……输入一个正整数 repeat (0
xVOF*.ı?ǘ4ssk⤱NH0Q6`D6HB. +l'Md=>{O+ PqUyj4OEIB\?~ީC̅yU]"z_rd@y:!+dyo/FL89q[pMѺ! WYM!d9Y^쑫'ͅw ţ[ Һ ._^*>bf8fVq {QB>ی ذ۳ڇ /QSŸ޿ kui:Dw_g/{f̎ʺnޅ[(7 DF vϋ׀.&Ҷp{&iڳl_$ uԊǶ,tҲف /ss=le;P]tש&Br{hmSEIc*.LN^{sಹ:pAAYzѧT@R[2=N2SQgkl6@؍)\2u)GRnGrWc2KWt' ʤY,s؂EQnTX`THw}GψZ*@ Вd!RMiPE IČ"Z@EhidՆiALE'?+Q*N\tEpI T˖%ZfdC2(*д;roj`(mJ-IPhHR*IQ&-jZJ e`ii33B͐"*@$5-ɒjj4TDI3e\50&g![u"XxBdTB ˫GB8YnT)-Ag:ܽ

求余弦函数的近似值 求纠错请纠错,不要给出一大段别人的正确的代码……输入一个正整数 repeat (0
求余弦函数的近似值 求纠错
请纠错,不要给出一大段别人的正确的代码……
输入一个正整数 repeat (0

求余弦函数的近似值 求纠错请纠错,不要给出一大段别人的正确的代码……输入一个正整数 repeat (0
#include "stdio.h"
#include "math.h"
double fact(int n)
{
 double i,sum=1;
 for(i=2;i<=n;i++) 
  sum*=i;
 return sum;
}
double funcos(double e, double x)
{
     int i,m=1;//加一个标志位,在1和-1之前变换
     double sum=0,fenzi,fenmu,t;//这儿,你的sum没初值,结果必然是错的,初始化为0
     for(i=0;;i+=2)
     {
          fenzi=pow(x,i);
          fenmu=fact(i);
          t=m*fenzi/fenmu;
          if(fabs(t)<e)   // 由于存在负号,所以求绝对值 if(t<e) 
           break;
          sum+=t;
          m=-m;
          //加正项去负项的做法有问题 if((i+4)%4==0) sum+=t;
          // else sum-=t;
    }             
    return sum;
}
int main(void)
{
 int repeat, ri;
 double e, sum, x; 
 
 scanf("%d", &repeat);   
 for(ri = 1; ri <= repeat; ri++)
 {
      scanf("%lf%lf", &e, &x);//double类型最好用%lf 格式控制scanf("%le%le",&e,&x);
      sum=funcos(e,x);
      printf("sum = %f\n", sum);
 }
}
结果:


 你的样例1输出是错的
cos(0)==1
sin(0)==0才是对的哦