W wyniku dzielenia int/int dostaje się int - wszystko liczby całkowite. Co najmniej jeden operand powinien być typu float, żeby dostać wynik zmiennoprzecinkowy.
Przy różnych typach ma miejsce konwersja,jeśli do int’a,to obcina część wyniku co powoduje błędy w obliczeniach
np.
3.5+3.5=7.0
ułamek jest obcinany
więc mamy
3+3=6
Teraz rozumiesz ?,w ogóle ta 1/2 nie jest brana pod uwagę przy obliczeniach bo jest obcinana i ty miałeś ten sam problem,to daje złe wyniki,bo a,b,c są obcinane,wychodzi ci np. 3,50,a obcięte do 3