A finite abelian group has order $p^n$, where $p$ is prime, if and only if the order of every element of $G$ is a power of $p$ Suppose that G is a finite Abelian group. Prove that G has order $p^n$, where p is prime, if and only if the order of every element of G is a power of p.

I tried the following route, but got stuck.  Using the fundamental theorem of finite Abelian groups, the problem reduces to proving Cauchy's theorem for a cyclic abelian group. If G is a cyclic group, and p divides G, then G has an element of order p whether p is prime or not. If we regard G as the integers mod p, then we can notice that if $|G| = kp$ then the integer k has order p in G. 

Assume $p$ divides the order, and $q$ is some other prime that also divides the order. By Cauchy's theorem there is an element of order $q$. 
Therefore, if the order is not a power of a prime then all the elements can't be of order a power of the same prime.
Assume that the order of the group is $p^n$. Then the order of an element $a$ must divide the order.
