fork download
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <math.h>
  5.  
  6. int xln(double x, double *result)
  7. {
  8. double eps= 0.0001; // 4 знака после запятой
  9. double S=0;
  10. int n=1;
  11. double Sn=1;
  12. while (fabs(Sn)>=eps) //abs - absolution
  13. {
  14. S=S+Sn;
  15. double z=((x-1)/(x+1));
  16. double t =((2*n-1)/(2*n+1))*(z*z);
  17. Sn=Sn*t;
  18. n++;
  19. }
  20. *result=S;
  21. return S;
  22. }
  23.  
  24. void printHead()
  25. {
  26. printf("|\tАргумент\t|\tЗначение\t|\tБиблиотечное\t|\n");
  27. printf("|\t\t\t|\tфункции\t\t| значение функции\t|\n");
  28. printf("|\t\t\t|\t\t\t|\t\t\t|\n");
  29. }
  30. void printBody(double x, double result)
  31. {
  32. printf("|\t%6.2f\t\t|\t%.4f\t\t|\t%.4f\t\t|\n",x,result,log(x));
  33. }
  34.  
  35. int main() {
  36. double result;
  37. printHead();
  38. for (float x=0.1;x<1; x+=0.1)
  39. {
  40. xln(x,&result);
  41. printBody(x,result);
  42. }
  43. return 0;
  44. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
|	Аргумент	|	Значение	|	Библиотечное	|
|			|	функции		| значение функции	|
|			|			|			|
|	  0.10		|	1.0000		|	-2.3026		|
|	  0.20		|	1.0000		|	-1.6094		|
|	  0.30		|	1.0000		|	-1.2040		|
|	  0.40		|	1.0000		|	-0.9163		|
|	  0.50		|	1.0000		|	-0.6931		|
|	  0.60		|	1.0000		|	-0.5108		|
|	  0.70		|	1.0000		|	-0.3567		|
|	  0.80		|	1.0000		|	-0.2231		|
|	  0.90		|	1.0000		|	-0.1054		|