Let $A$ be a free abelian group of rank $k$ and $v_1,\dots,v_k$ be its basis.
Let $B \le A$ be a subgroup of $A$ of full rank. I want to construct a basis of $B$ from $v_1,\dots,v_k$. One way I can think of is the following:
Consider the projection $A \to A/B$ and for each $i$ the image $v_i+B$ are of finite order, say $n_i$. I don't have to show that
$$n_1 v_1 \dots n_k v_k$$
form a basis of $B$. It is clear that $n_1 v_1 \dots n_k v_k$ are $\mathbb Z$ independent and they are contained in $B$ but I don't see why any element in $A$ can be expressed by them.
If you have other ways to construct the basis so that the proof is easier, please let me know in the answer. I have seen a similar theorem before but I can't find any reference directly addressing what I want.