Sometimes I find questions like this easier to work through if I use actual numbers. So let's say there are 100 memory accesses. How many read and how many write will there be (this is easy)? How long will a single read take, if it comes from cache? How long will a single read take if it comes from main memory? How long will a write take? Now add them all up to produce a time for the 100 memory accesses. Then divide by the number of accesses and that should give you the answer you're looking for (for b. a is of course easier than that.)

c also sounds easy, what's the problem? Do you know how to calculate hit ratios? Let's say I'm playing darts and I throw 10 darts and 4 hit the board (that would be doing well for me). What would my hit ratio be? Do you get 0.4?