发布时间:2019-08-08 14:29:19
sin(x) = x - x 3 /3! + x 5 /5! - x 7 /7!+.................
自己写了一下,下面是我的代码,输出有问题。但是检查不出来。希望各位老师们能帮忙看下,具体错在哪里。现在的输出是:弧度50的正弦为-1.#IND00。这个我百度了一下,好像是除0就显示这样的错误,但是现在就是不知道错在哪里。
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; }
谢谢各位老师