I've got a few days left at the end of a differential geometry class, and would like to compute the deRham cohomology of $S^n$. We've just proved the Poincare lemma, so I know the cohomology of $R^n$, and homotopy invariance of cohomology is an easy consequence.

The way to compute $H^*(S^n)$ is with Mayer-Vietoris, for example as in Bott and Tu. But I don't have time to fully develop the cohomological algebra for that, just to then apply it in only one case. I'd rather get the computation for $S^n$ directly and use it for a couple of applications.

So, it seems to me that one could trace through the Mayer-Vietoris argument in this specific case. At least I'd like to show that a closed $k$-form on $S^n$ is exact when $0 < k < n$.

Here's how I think the argument could go:

Let $\omega$ be a $k$-form on $S^n$. Let $U$ and $V$ be $S^n$ minus its north and south pole, respectively. Then homotopy invariance and the Poincare lemma give $k-1$ forms $\alpha$ on $U$ and $\beta$ on $V$ with $d\alpha = \omega$ and $d\beta = \omega$.

Now use a partition of unity $f$ and set $\gamma = f_U \alpha + f_V \beta$, a $k-1$ form on $S^n$. So $\omega - d\gamma$ is now supported on $U \cap V$. Since $U\cap V$ is homotopic to $S^{n-1}$, induction gives that $\omega - d\gamma$ is exact, so $\omega = d\tau + d\gamma$.

The problem is that $\omega - d\gamma$ is exact when restricted to $U \cap V$, and I don't see how why $\tau$ would extend to a form on $S^n$.

Am I missing something? Is there a better approach entirely?