There is no exact way to pump it out. No part of the Zip code actually comes down to a city.
[#][##][##]
[State][County/Parish][Area]
Instead you should be giving your users a choice made on exact facts instead of probabilities.