c语言:已知求正弦sin(x)的近似值的多项式公式为:

发布时间:2019-08-08 14:29:19

 sin(x) = x - x 3 /3! + x 5 /5! - x 7 /7!+.................

自己写了一下,下面是我的代码,输出有问题。但是检查不出来。希望各位老师们能帮忙看下,具体错在哪里。现在的输出是:弧度50的正弦为-1.#IND00。这个我百度了一下,好像是除0就显示这样的错误,但是现在就是不知道错在哪里。


#include <stdio.h>

 double jiecheng (int n) //阶乘  {  double sum=1;  for (;n>0;n--)  sum=sum*n;  return sum; }  double mi (double x,int y) //次幂  {  int i=2;  for(;i<=y;i++)  x=x*x;  return x; }   int main (){ int f=1,i=1; //符号,基础变量  double d,sum=0,x; //当前总数,最后的数字,x用户输入的弧度。  printf("请输入x弧度,程序计算正弦值。"); scanf("%lf",&x); do {   d=mi(x,i)/jiecheng(i);  //每一项的分数值    sum=sum +(d*f);    //总值等于每一项相加 (加符号)   f=-f;      //正负转换   i+=2;      //i每次递增2   } while(d>0.000001);   printf("弧度%g的正弦为%lf\n",x,sum);  return 0; }


谢谢各位老师


补充:#include  double jiecheng (int n) //阶乘  {  double sum=1;  for (;n>0;n--)  sum=sum*n;  return sum; }  double mi (double x,int y) //次幂  {  int i=2;  for(;i0.000001);   printf("弧度%g的正弦为%lf\n",x,sum);  return 0; }

推荐回答

还没有选出推荐答案,请稍候访问或查看其他回答!
以上问题属网友观点,不代表本站立场,仅供参考!