For $G$ a group, if $|G| = n$, $n$ composite, will $G$ have a proper subgroup?

I can see how it is indeed possible that $G$ has a proper subgroup i.e. possibly $n = km$ and there is an element of order $k$ that generates a cyclic proper subgroup, but I am trying to see why this must necessarily be the case. My argument goes as follows:

Let $G$ be a group of order $n$. Since $n$ is composite, we may write $n = km$ for $k,m \in\Bbb Z$. If $G$ is cyclic, let the element that generates $G$ be $a$. Now consider $\langle a^k \rangle$ for $k$ the above divisor of $n$. This subgroup is nontrivial, and contains $m < n$ elements by Lagrange's Theorem, so we are done.

Else, if $G$ is not cyclic, then $n$ composite implies $n \ge 4$, thus there are at least $4$ elements in $G$, none of which has order $n$. Consider an element $b \in G$, $b \ne e$. Let the order of $b$ be $\ell < n$. Then $b$ generates a cyclic subgroup of order $\ell$ which must divide $n$, and since $\ell < n$, we know that $\langle b \rangle \subsetneq G$. Thus $G$ has a proper subgroup. $\Box$

Any feedback about the above proof is appreciated!

-
It's ok but too complicated. If $G$ has no proper subgroups take $x\in G$, $x\neq e$. Then $<x>=G$, so $G$ is cyclic, and finite cyclic groups, as you observed, have subgroups for any divisor of their order. – user26857 Dec 4 '12 at 0:51

If $G$ has order $n$ which is composite, then $n$ is divisible by some prime $p < n$. By Cauchy's theorem, $G$ has an element of order $p$. This element generates a proper subgroup of order $p$.