Программа вычисления логарифма на Си


Формула логарифма действительна для -1<X≤1.

Пример программы вычисления натурального логарифма Ln(1+x) через разложение в ряд Тейлора (Маклорена).
#include <stdio.h>
#include <math.h>
int main() {
  float x,      // Аргумент
        PowX=1, // Степень аргумента
        Add,    // Слагаемое (член сходящегося ряда)
        Sum=0;  // Набираемая сумма
  int Sig=1,    // Знак слагаемого
      n=1;      // Счётчик
  printf("Введите X="); // Вывод приглашения
  scanf("%f",&x);       // Ввод аргумента
  Add=PowX=x;           // Начальная инициализация степени X и слагаемого
  while (fabs(Add)>0) { // Цикл набора суммы ряда до достижения точности машинного нуля
    Sum+=Add;                // Набор суммы
    Sig=-Sig;                // Переопределение знака
    Add=Sig*(PowX*=x)/++n;   // Пересчёт слагаемого (члена ряда)
  }
  printf("Ln(1+%f)=%f n=%d\n",x,Sum,n);        // Вывод результата и количества итераций цикла
  printf("Ln(1+%f)=%f проверка\n",x,log(1+x)); // Вычисление и вывод проверки используя библиотечную функцию
}

Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию