Написать и протестировать функцию для приближённого вычисления ln х по формуле - C (СИ)
Формулировка задачи:
Есть вот такое задание :
Написать и протестировать функцию для приближённого вычисления ln х по формуле (инфа во вложении)
Вот мой код, но тут есть ошибки, помогите мне их исправить.
#include <stdio.h> int Log(float k, float x); main() { float x, k; printf("Enter numbers (x- must be from 1/2 to 1 , k- must be only 0 or 1 or 2):\n "); fflush(stdout); scanf("%f\t%f", &x, &k); printf("From %f to %f" "\n", x, k); printf("log10(x) = %f" "\n", Log(x, k)); return 0; } int Log(float k, float x) { float Z, u; if(x<=1 && x>= (1/2)) u= (2*x-sqrt(2))/(2*x+sqrt(2)); if(k=0 || k=1 || k=2) {for(k=0; k<=2; k++) Z=(2*k+1)*pow(u,(2*k)+1); log10(x)=-(1/2)*log10(2)+Z; else printf("You write incorrect digets!!"); } return 0; }
Решение задачи: «Написать и протестировать функцию для приближённого вычисления ln х по формуле»
textual
Листинг программы
#include <stdio.h> #include <math.h> int Log(float k, float x); main() { float x, k; printf("Enter numbers (x- must be from 1/2 to 1 , k- must be only 0 or 1 or 2):\n "); fflush(stdout); scanf("%f\t%f", &x, &k); printf("From %f to %f" "\n", x, k); printf("log10(x) = %f" "\n", Log(x, k)); getchar(); getchar(); return 0; } int Log(float x, float k) { float Z, u; if(x <= 1 && x >= (1/2)) u= (2*x-sqrt(2))/(2*x+sqrt(2)); if(k == 0 || k == 1 || k == 2) { for(k=0; k<=2; k++) Z=(2*k+1)*pow(u,(2*k)+1); return -(1/2)*log10(2)+Z; } else printf("You write incorrect digets!!"); return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д