It's given that $f:A \to B$ and $g:B \to C$.
My Proof:
If $g\circ f$ is surjective then all elements $z∈C$ can be written as $g(f(x))$ where $x∈A$.
We know that for all $x∈A$, $f(x)∈B$ and that for all elements $y∈B$, $g(y)∈C$. Let S be the set containing all elements of $B$ which can be written as $f(x)$, where $x∈A$. Now the set of all $g(s)$,where $s∈S$ would be equal to the set C since the set of all $g(s)$ is the set of all $g(f(x))$. This implies that g is surjective.
Please verify if this is logically correct and rigorous enough.
I wouldn't write it like that. Usually surjectivity of a function $f: X \to Y$ is proven in the following way:
Take $y \in Y$, and find an element $x \in X$ such that $f(x) = y$
Let's do this now:
Take $c \in C$. Since $g \circ f$ is surjective, there exists $a \in A$ such that $g(f(a)) = (g \circ f)(a) = c$ and $f(a)$ is the element we are looking for.