Is there a slick proof of the classification of finitely generated abelian groups? One the proofs that I've never felt very happy with is the classification of finitely generated abelian groups (which says an abelian group is basically uniquely the sum of cyclic groups of orders $a_i$ where $a_i|a_{i+1}$ and a free abelian group).
The proof that I know, and am not entirely happy with goes as follows: your group is finitely presented, so take a surjective map from a free abelian group.  The kernel is itself finitely generated (this takes a little argument in and of itself; note that adding a new generator to a subgroup of free abelian group either increases dimension after tensoring with $\mathbb{Q}$ or descreases the size of the torsion of the quotient), so our group is the cokernel of a map between finite rank free groups.  Now, (and here's the part I dislike) look at the matrix for this map, and remember that it has a Smith normal form.  Thus, our group is the quotient of a free group by a diagonal matrix where the non-zero entries are $a_i$ as above.
I really do not think I should have to algorithmically reduce to Smith normal form or anything like that, but know of no proof that doesn't do that.
By the way, if you're tempted to say "classification of finitely generated modules for PIDs!" make sure you know a proof of that that doesn't use Smith normal form first.
 A: I believe that the Smith normal form is equivalent to the classification of finitely generated abelian groups. Besides, the algorithm can be used e.g. in linear algebra to compute the generalized jordan form of a matrix. So what is so bad about it? It's a very intuitive algorithm which simplifies the relations step by step.
There are also other proofs of the classification result. Check out Lang's Algebra, Ch. I, § 8 (available at google books). The key result is the following lemma: Let $A$ be a finite abelian $p$-group and $a \in A$ of maximal order. Then every element of $A/a$ can be lifted to an element of $A$ of the same order.
edit: This seems to be an elementary formulation of Emerton's proof above.
A: The slickest (nonconstructive!) proof I know of is the one I put in my Group Theory 
notes, p. 25. You choose a generating set $x_1,\ldots,x_n$ for the group such that $x_1$ has the minimum possible order, and then prove that the group is the direct sum of the subgroups generated by $x_1$ and by $x_2,\ldots,x_n$. Now apply induction on $n$ to see that the group is a direct sum of cyclic groups.
A: I reject the premise of the question.  :-)
It is true, as Terry suggests, that there is a nice dynamical proof of the classification of finite abelian groups.  If $A$ is finite, then for every prime $p$ has a stable kernel $A_p$ and a stable image $A_p^\perp$ in $A$, by definition the limits of the kernel and image of $p^n$ as $n \to \infty$.  You can show that this yields a direct sum decomposition of $A$, and you can use linear algebra to classify the dynamics of the action of $p$ on $A_p$.  A similar argument appears in Matthew Emerton's proof.  As Terry says, this proof is nice because it works for finitely generated torsion modules over any PID.  In particular, it establishes Jordan canonical form for finite-dimensional modules over $k[x]$, where $k$ is an algebraically closed field.  My objection is that finite abelian groups look easier than finitely generated abelian groups in this question.
The slickest proof of the classification that I know is one that assimilates the ideas of Smith normal form.  Ben's question is not entirely fair to Smith normal form, because you do not need finitely many relations.  That is, Smith normal form exists for matrices with finitely many columns, not just for finite matrices.  This is one of the tricks in the proof that I give next.
Theorem. If $A$ is an abelian group with $n$ generators, then it is a direct sum of at most $n$ cyclic groups.
Proof. By induction on $n$.  If $A$ has a presentation with $n$ generators and no relations, then $A$ is free and we are done.  Otherwise, define the height of any $n$-generator presentation of $A$ to be the least norm $|x|$ of any non-zero coefficient $x$ that appears in some relation.  Choose a presentation with least height, and let $a \in A$ be the generator such that $R = xa + \ldots = 0$ is the pivotal relation.  (Pun intended. :-) )
The coefficient $y$ of $a$ in any other relation must be a multiple of $x$, because otherwise if we set $y = qx+r$, we can make a relation with coefficient $r$.  By the same argument, we can assume that $a$ does not appear in any other relation.
The coefficient $z$ of another generator $b$ in the relation $R$ must also be a multiple of $x$, because otherwise if we set $z = qx+r$ and replace $a$ with $a' = a+qb$, the coefficient $r$ would appear in $R$.  By the same argument, we can assume that the relation $R$ consists only of the equation $xa = 0$, and without ruining the previous property that $a$ does not appear in other relations.  Thus $A \cong \mathbb{Z}/x \oplus A'$, and $A'$ has $n-1$ generators. □
Compare the complexity of this argument to the other arguments supplied so far.
Minimizing the norm $|x|$ is a powerful step.  With just a little more work, you can show that $x$ divides every coefficient in the presentation, and not just every coefficient in the same row and column.  Thus, each modulus $x_k$ that you produce divides the next modulus $x_{k+1}$.
Another way to describe the argument is that Smith normal form is a matrix version of the Euclidean algorithm.  If you're happy with the usual Euclidean algorithm, then you should be happy with its matrix form; it's only a bit more complicated.
The proof immediately works for any Euclidean domain; in particular, it also implies the Jordan canonical form theorem.  And it only needs minor changes to apply to general PIDs.
A: Perhaps the issue is that the classification is not canonical or functorial in any reasonable way, and so any proof of this form must at some point create an arbitrary choice.  (In particular, even though the classification tells us that every finite abelian group is isomorphic to its Pontryagin dual, there is no way to make this isomorphism canonical.)  Presumably there is some category-theoretic way to formalise this issue, though I don't know how to do this.  (A related fact, though, is that the above classification breaks down horribly for infinite abelian groups, much as the Jordan canonical form breaks down for infinite dimensional spaces.)
On the other hand, the special case of the classification for vector spaces over a finite field has the same issue (no canonical choice of basis), and yet doesn't seem to cause the same amount of dissatisfaction.  I guess because here the full complexity of the Jordan canonical form does not emerge. 
Greg Kuperberg pointed out to me in this blog post of mine that the Jordan canonical form for nilpotent transformations and the classification of abelian p-groups had essentially the same proof - in both cases the key is to understand the dynamics of a nilpotent homomorphism, which in the latter case is the operation of multiplication by p.  This is perhaps the only "ugly" part of the whole story (and requires one to manually split a number of short exact sequences, etc.); reducing the Jordan normal form to the nilpotent case, or the classification of general abelian groups to p-groups, is all very clean and canonical.
A: I'm not sure what ingredients you are allowing, but here is one proof sketch:
Let $A$ be our f.g. abelian group. Since $\mathbb Z$ is Noetherian, the torsion subgroup
$A_{tors}$ is also f.g., and the quotient $A/A_{tors}$ is torsion free, and f.g.
(being a quotient of something f.g.).  [As pointed out in a comment, we will later
show that $A_{tors}$ is a direct summand of $A$, and so the Noetherianess argument
is not actually needed.]
(1) If $A$ is f.g. and torsion free over $Z$, it is free.
Proof: Induction on the dimension of $V := {\mathbb Q}\otimes\_{\mathbb Z} A$
(which is fin. dimensional, since $A$ is  f.g.).  
If this equals $1$, then $A$ is a f.g. subgroup of $\mathbb Q$, and finding a common
denominator shows that it is cyclic.  (This is the Euclidean algorithm.)
In general, choose a line $L$ in $V$.  If $A \cap L = 0$, then $A$ embeds into
$V/L$, the dimension drops, and we are done by induction.  (Of course, this actually
can't happen, but never mind; we don't need to prove that here.)
Otherwise, we have $0 \rightarrow A\cap L \rightarrow A \rightarrow B \rightarrow 0,$
and $B$ embeds into $V/L$, so is free by induction, $A/A\cap L$ is f.g. (by Noetherianess
of $\mathbb Z$) and embeds into $L$, so is free by the dim. 1 case.
Freeness of $B$ makes this s.e.s split, so $A = A\cap L \oplus B$ is free.
(2)  In general, $A = A\_{tors} \oplus \text{something free} .$
Proof: We have the s.e.s $0 \rightarrow A_{tors} \rightarrow A \rightarrow
A/A_{tors} \rightarrow 0.$  Part (1) shows that $A/A_{tors}$ is free,
and then this freeness lets us split the s.e.s.
(3) Now suppose $A$ is torsion.  Its Sylow subgroups are unique (by abelianess,
although there are many other ways to prove this too), and all have mutually
trivial intersections, to $A$ is isomorphic to their direct sum.  
(4) We have now reduced to the case $A$ is a $p$-power order abelian group.
Let $p^e$ be the exponent of $A$, so $A$ is a ${\mathbb Z}/p^e {\mathbb Z}$-module.
Choose an element $a \in A$ of order $p^e$.  Then we have 
${\mathbb Z}/p^e {\mathbb Z} \hookrightarrow A,$ an embedding of ${\mathbb Z}/p^e {\mathbb Z}$-modules.  Sincer ${\mathbb Z}/p^e$ is injective over itself, this splits.
(There are many elementary ways to prove this, or to alter the argument: e.g.
apply Pontrjagin duality, which for a group of exponent $p^e$ is just Homs to
${\mathbb Z}/p^e {\mathbb Z},$ to get a surjection from a ${\mathbb Z}/p^e {\mathbb Z}$-module to ${\mathbb Z}/p^e {\mathbb Z}$, which must then split, the latter
being free of rank one; now apply Pontrjagin duality again to get a splitting of the original
sequence.)
Continuing by induction on the order, we write $A$ as a sum of cyclic groups of 
$p$-power order.
(5) We have now shown that any f.g. $A$ is a direct sum of a free group and
of cyclic groups of prime power order.  It is easy to rearrange this information
to get the classification in terms of elementary divisors.
Comment: while this may not seem so slick, I think it has the merit that the techniques it uses are elementary versions of standard commutative algebra arguments for analyzing modules over any commutative Noetherian ring, namely various localization and devissage techniques.
E.g. the preceding argument extends immediately to the PID case.  In step (1), one uses the
PID property to find a common denominator, rather than the Euclidean algorithm.
In step (3), one observes that $A_{tors}$, being finitely generated and torsion,
is annihilated by some non-zero ideal $I$ in the PID $R$, hence is a module over the
Artinian ring $R/I$, and so is the sum of its localizations $A\_{\mathfrak p},$ where
$\mathfrak p$ ranges over the finitely many (non-zero, hence maximal)
prime ideals containing $I$.
EDIT: If one wants to work more in the spirit of the classification by elementary divisors,
and avoid working one prime at a time, one can combine steps (3), (4), and (5) as follows:
(3') Suppose $A$ is f.g. torsion.  Let $e$ be its exponent.  Then it is a ${\mathbb Z}/e{\mathbb Z}$-module, and contains an element of order $e$.  Thus one has an embedding
${\mathbb Z}/e{\mathbb Z} \hookrightarrow A,$ which must split (either by the injectivity
argument of (3), applied now to ${\mathbb Z}/e{\mathbb Z}$, or the Pontrjagin duality
argument).  Proceeding by induction, one writes $A = \oplus {\mathbb Z}/e\_i{\mathbb Z},$
where $e_i | e_{i-1},$ as required.
EDIT: Suppose that one wants to prove directly that ${\mathbb Z}/e{\mathbb Z}$ is injective
as a module over itself (as Martin asks below):  using a standard criterion for injectivity of modules over a commutative ring, one need just show that for any ideal $I$ of ${\mathbb Z}/e{\mathbb Z}$,
any map $I \hookrightarrow {\mathbb Z}/e{\mathbb Z}$ of
extends to a map ${\mathbb Z}/e{\mathbb Z} \rightarrow {\mathbb Z}/e{\mathbb Z}$.
This is easily done: $I$ is of the form $f {\mathbb Z}/e{\mathbb Z}$, for some 
$f | e$.  Equivalently, $I = ({\mathbb Z}/e{\mathbb Z})[e/f]$ (the $e/f$-torsion
submodule).  The given map $I \rightarrow {\mathbb Z}/e{\mathbb Z}$ then necessarily lands in $({\mathbb Z}/e{\mathbb Z})[e/f] = I,$ and a map $I \rightarrow I$ can certainly
be extended to a map ${\mathbb Z}/e{\mathbb Z} \rightarrow {\mathbb Z}/e{\mathbb Z}$,
as required.
A: Show first the

Lemma. Let $A$ be a PID, $L$ a free $A$-module and $M\subseteq L$ a non-zero submodule. There exist $z\in L$, a submodule $S\subset L$ and $c\in A$ such that (i) $L=\langle z\rangle\oplus S$, (ii) $M=\langle cz\rangle\oplus (S\cap M)$, and (iii) if $f:L\to A$ is $A$-linear and $f(z)=1$, then $f(M)=\langle c\rangle$.

by picking a morphism $h:M\to A$ with the property that the ideal $h(M)\subseteq A$ is maximal non-zero, $S=\ker h$, $c$ a generator for $h(M)$, and $z=u/c$ for $u\in h^{-1}(c)$ (this makes sense for $u$ is divisible by $c$), and checking that the claims of the lemma hold.
Next, deduce by induction

Corollary. Let $A$ be a PID, $L$ a free $A$-module and $M\subseteq L$ a finitely generated submodule. Then there is a basis $\mathcal B=\{e_i:i\in I\}$ of $L$, a finite subset $\{e_{i_j}:1\leq j\leq n\}$ of $\mathcal B$, and elements $a_1,\dots,a_n\in A$ such that $a_i\mid a_{i+1}$ for all $i$ and $M=\bigoplus_j\langle a_ie_{i_j}\rangle$.

Finally, pick a finitely generated module $M$ over a PID, consider a surjection $\phi:L\to M$ from a finitely generated free module, and apply the corollary to the submodule $\ker\phi$ of $L$ to describe the quotient $L/\ker\phi$.
A: Here is a proof of the finite case that I think is pretty different from the others. It is inspired by the proof of Lemma B.13 in Pete Clark's algebra notes.
Let $G$ be a finite group, written additively. Let $n$ be the highest order of any element of $G$ and let $g$ be an element of order $n$. We will show that $\langle g \rangle$ splits off as a direct summand of $G$; then we induct.
Let $H$ be a subgroup of $G$ which is maximal with respect to the condition that $\langle g \rangle \cap H = \{ 0 \}$. We can always take $H = \{ 0 \}$, so at least one such subgroup exists. We will show that $G = \langle g \rangle \oplus H$.
If $\langle g \rangle \oplus H$ is not all of $G$, then we can find some $u$ in $G$ not lying in $\langle g \rangle \oplus H$. Let $b$ be the lowest positive integer such that $bu \in \langle g \rangle \oplus H$; say $bu = ag+ h$. Write $a = qb+r$ with $0 \leq r < b$. Putting $v:=u-qg$, we have $bv = rg + h$, and $b$ is the lowest positive integer such that $bv \in \langle g \rangle \oplus H$.
Case 1: $r=0$. In this case, put $H' = H + \langle v \rangle$; we have $H' \supsetneq H$ and $\langle g \rangle \cap H' = \{ 0 \}$, contradicting the maximality of $H$.
Case 2: $r>0$. In this case, we claim that the order of $v$ is greater than $n$, contradicting the maximality of $n$. Indeed, the order of $v$ must be divisible by $b$, and the order of $bv$ is at least $\tfrac{n}{r} > \tfrac{n}{b}$. $\square$
I feel like this should be adaptable to cover the case of finitely generated abelian groups, but it keeps not coming out slick when I try. Maybe someone can show me how!
A: I wanted undergraduates in my number theory course, most of whom have had only one semester of abstract algebra [which at UGA means, believe it or not, that groups are not covered at all!], to have available a proof of the structure theorem for finite abelian groups, so I wrote this up in Section 5 of Appendix B of these notes.
In comparison to M. Emerton's argument above (which I upvoted), what I say:
$\bullet$ is considerably more elementary (indeed the point of the entire document is to develop everything you might need to know about finite abelian groups, from scratch)
$\bullet$ does not address the fact that a torsion free f.g. abelian group is free (for this I like Emerton's argument, although I might rather recast it in more elementary language for my intended audience)
$\bullet$ includes a proof of the uniqueness of the invariant factor decomposition.
Comments welcome, as always.
Added in August, 2021: Thanks very much to David Speyer for pointing this out many years after the fact.  I have uploaded a new version that corrects the error and incorporates most of David's recommendations.
A: I've just written down my own attempt at a proof at the following webpage:
https://en.wikibooks.org/wiki/Linear_Algebra_over_a_Ring/Modules_over_Bézout_domains
It covers only the statement that a finitely generated, torsion-free module over a Bézout domain is free, but it shows that in fact every minimum cardinality generating set is a basis (and it's a tad more general than the usual statement, being formulated for Bézout domains). (I tried to upload this proof to the arXiv, but it was rejected due to being of "insufficient interest".)
