To find when the ball strikes the ground, we need to determine when the distance \( s \) from the ground is zero. The equation for the distance is given by:
\[
s = 128 + 112t - 16t^2
\]
Set \( s = 0 \) to find the time \( t \) when the ball hits the ground:
\[
0 = 128 + 112t - 16t^2
\]
Rearrange the equation to standard quadratic form:
\[
16t^2 - 112t - 128 = 0
\]
Divide the entire equation by 16 to simplify:
\[
t^2 - 7t - 8 = 0
\]
Use the quadratic formula \( t = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \), where \( a = 1 \), \( b = -7 \), and \( c = -8 \):
\[
t = \frac{-(-7) \pm \sqrt{(-7)^2 - 4 \cdot 1 \cdot (-8)}}{2 \cdot 1}
\]
\[
t = \frac{7 \pm \sqrt{49 + 32}}{2}
\]
\[
t = \frac{7 \pm \sqrt{81}}{2}
\]
\[
t = \frac{7 \pm 9}{2}
\]
This gives two solutions:
\[
t = \frac{16}{2} = 8 \quad \text{and} \quad t = \frac{-2}{2} = -1
\]
Since time cannot be negative, the ball strikes the ground at \( t = 8 \) seconds.
The ball passes the top of the building when \( s = 128 \) on its way down. We need to find the second time \( t \) when \( s = 128 \):
\[
128 = 128 + 112t - 16t^2
\]
Simplify the equation:
\[
0 = 112t - 16t^2
\]
Factor out \( t \):
\[
t(112 - 16t) = 0
\]
This gives two solutions:
\[
t = 0 \quad \text{or} \quad 112 - 16t = 0
\]
Solve for \( t \):
\[
16t = 112
\]
\[
t = \frac{112}{16} = 7
\]
The ball passes the top of the building again at \( t = 7 \) seconds.
(a) The ball strikes the ground after \(\boxed{8}\) seconds.
(b) The ball passes the top of the building on its way down after \(\boxed{7}\) seconds.