Написать и протестировать функцию для приближённого вычисления 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы