a. #0 in (-3, 3)# and #f(0) = -45 < 0 = g(0)#. As #0 in (-3, 3)#. Eliminate this choice.
b. When #x# grows large, a polynomial function begins to resemble its greatest degree term. In this case, this means #g(x)# resembles #x^3# as #x# grows large. Take any large #x# (say, #10^100#). #10^100 in (5, oo)# and #g(10^100) > 0 = f(10^100)#. Eliminate this choice.
d. Similar to the above, the different constant term doesn't matter. We can make #g(x)# greater than #0# by choosing a large #x#, and so it will be greater than #f(x)# for at least some values in #(5, oo)#. Eliminate this choice.
By process of elimination, the only remaining choice is c., but let's prove it to be the case.
Let #f(x) = x^3-5x^2-9x+45# and #g(x) = 0#. Factoring #f(x)#, we get
#f(x) = (x+3)(x-3)(x-5)#
So #f(x) = 0# for #x in {-3, 3, 5}#. If we partition the reals at these points, we can test to see what sign #f(x)# will take on in each of the resulting intervals.
As a shortcut, we know by looking at the first #x^3# term that #f(x) < 0# on #(-oo, -3)# and #x>0# on #(5, oo)#.
Setting #x=0# to test #(-3, 3)#, we find #f(0) = 45 > 0#, meaning #f(x) > 0# on that interval.
Setting #x=4# we find that #f(x) = (4+3)(4-3)(4-5) = -7 < 0#, meaning #f(x) < 0# on that intervals.
Thus #f(x) > 0 = g(x)# for #x in (-3, 3) uu (5, oo)#, as desired.