fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #include <float.h>
  5.  
  6. #define EPSILON 1e-10
  7.  
  8. int main(void)
  9. {
  10. int n;
  11. double rad, ckrad, sinrad = 0.0;
  12. double k = 1.0, l, radrad;
  13.  
  14. printf("input rad =");
  15. scanf("%lf", &rad);
  16.  
  17. ckrad = l = rad;
  18. radrad = rad * rad;
  19.  
  20. for (n = 0; n < 5 && fabs(ckrad) >= EPSILON * sinrad; n++) {
  21. if ((n % 2) == 0)
  22. sinrad += ckrad;
  23. else
  24. sinrad -= ckrad;
  25. k *= (2 * k + 1) * (2 * (k + 1) + 1);
  26. l *= radrad;
  27. ckrad = l / k;
  28. }
  29.  
  30.  
  31. printf("sin(rad) = %.15lf\n", sin(rad));
  32. printf("taylor sin(rad) = %.15lf\n", sinrad);
  33.  
  34.  
  35. return 0;
  36. }
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty