W takim razie gratuluję i takie moje drobne uwagi:
Na zmienna b wystarczy w zupełności int - zobacz treść zadania.
Tutaj -->(M_PI * 2 * (b/2))/ile
wykonywane są działania na liczbach rzeczywistych - całkowite są przekształcane na rzeczywiste [rzutowane], bo M_PI jest takiego typu, więc kolejność działań jest bez znaczenia i niepotrzebne są nawiasy - a nawet mogą spowodować błąd jeżeli zmienna b będzie typu int --> b/2.
Można i lepiej to zapisać tak: M_PI * 2 * b / 2 / ile
i od razu widać, że można skrócić 2 w liczniku i mianowniku, czyli: M_PI * b / ile
if (ile % 2 != 0) <===> if (ile & 1 != 0) <===> if (ile & 1)
ob /= 2; <===> ob *= 0.5 <===> ob *= .5
dla double
ile /= 2; <===> ile >>= 1
dla int
" " <===> ' '
zamiast stringa jeden znak;
"\n" <===> '\n'
jak wyżej