Преобразование формулы в C

Получаю неизвестную ошибку в виде нулей в ответе. В чем может быть моя ошибка?

#include <stdio.h>
#include <math.h>

int  main()
{
    int a = 3,b = 2;
    float x,y,c = 2.1,d=2.5;
    scanf("%f",&x);
    scanf("%f",&y);
    float ThirdStep = 1/a * tan(a*x/2) ;
    float FourthStep = 1/2* log(a*x-1/2);
    float t2 = ThirdStep + FourthStep;
    printf("%f\n",t2);

}
Output:0.00000

Формула


Ответы (1 шт):

Автор решения: Harry

Стандартная ошибка...

1/2

это — целочисленное деление, с отбрасыванием дробной части, и это не 0.5, а просто 0...

Как и в

1/a

Пишите 0.5 и 1./a

→ Ссылка