Your answers are totally correct. I fail to see, however, why you decided to write your answer for (c) as an infinite intersection.

To prove that $A = (0,1]$ is not open, it suffices to show that $1$ has no open neighborhood in $A$. To prove that $A$ is closed, it suffices to show that $0$ has no open neighborhood outside of $A$.