well.. as long it is just a midterm PRACTICE..go ahead and ask your instructor.. or perhaps we can get more ppl here on daniweb involved....i always get into massive arguments over math stuff because when you start taking calculus and whatnot...it gets harder and harder to explain the simpler stuff....

a. How many possible subnets are there? - 30 2^5-2 = 30
b. How many bits will be in the host id? 29 class c = /24 + 5 = /29
c. How many possible hosts are there on each subnet? - 6 32-29 = 3, 2^3-2 = 6 hosts
d. What is the mask in binary notation?-11111111 11111111 11111111 11111000

made me think on this one, been a while for subnetting since the real world makes tools for us anymore unlike when i took my CCNA test years ago.

A is correct minus the broadcast and loopback as you did
B is not so much you took 5 bits for your subnet leaving you with only 3 host bits
C possilbe hosts 2^3 don't recall subtracting 2 here so i would relook at that one
D is correct taking bits left to right or turning on the bit from a zero to a one

bits count like this for 8 bits in each octet which there is four 255.255.255.255 counting in 8 bits of 00000000 and they count down from left to right 128 64 32 16 8 4 2 1 and we borrow 5 so you add 128-8 to get your 255.255.255.248 subnet and all the rest that was typed above. if that makes sense

You add left to right just as you read. Add the first 5 bits for the subnet and the last 3 left of the 8 give you the host.
Minimee120 has their confirmation from my earlier post. Subnetting is never fun

Would think that way but you actually take the 2^5 and you get 32 and you take away 2 bits for the broadcast address and loopback. You don't really add them as you would think. I always hated Subnetting but I wouldn't have built the networks I have over the years without it.