运行超时啊啊啊啊,大神帮我看看哪里错了
根据表达式:sinx=x- x^3/3! + x^5/5! - x^7/7! + …… 计算sinx的数值,最后一项的绝对值大于0.00001。input
有多组数据,每组1行,即x的值。
output
输出sinx的值。注意:结果保留5位小数。
sample_input
0
1
2
3
4
sample_output
0.00000
0.84147
0.90930
0.14112
-0.75680
我的程序:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double x;
while(scanf("%lf",&x)!=EOF)
{
int i,j,l;
double n=1,a,b,m=0;
do
{
i=1;
l=0;
for(j=1;j<=i;j++)
n=n*j;
a=pow(x,i);
b=(pow(-1,l))*a;
m=m+b;
i=i+2;
l=l+1;
}while(a>0.00001);
printf("%.5f",m);
}
return 0;
}
[此贴子已经被作者于2016-2-6 10:47编辑过]