Definition: Let V be a vector space over $\Bbb C$ and $T\in \Bbb L(V).$ Then the operator norm of T is the least upper bound of $\{||Tv||: v\in V, ||v||=1\}$. The norm of a matrix A is the operator norm of A seen as a linear operator.
Problem: Let $A\in M_n(\Bbb C).$ Show that $\forall \varepsilon \gt 0, \exists B\in GL_n(\Bbb C)$ diagonalizable such that $||A-B||\lt \varepsilon$
Observation:Based on the requirements for B, suppose $B=PDP^{-1}$, where $P\in GL_n(\Bbb C)$ and D is a diagonal matrix with its (j,j)-th entry being $\lambda_i\in \Bbb C$, then $\det(B)=\lambda_1...\lambda_n$, and the characteristic polynomial of B is $ch_B(x)=(x-\lambda_1)...(x-\lambda_n)$
Suppose A can be written as $PEP^{-1}$ with E being a diagonal matrix with its (j,j)-th entry being $\mu_i\in \Bbb C$. Then $||A-B||=||P(\mu_i-\lambda_i)P^{-1}||\le ||P||\;||(\mu_i-\lambda_i)||\;||P^{-1}||\le ||P||\;\sum_{i=1}^n|\mu_i-\lambda_i|\;||P^{-1}||$. Now we can pick $|\mu_i-\lambda_i|\lt \dfrac{\varepsilon}{n||P|| \;||P^{-1}||}$ so that $||A-B||\lt \varepsilon$.
How may I tackle the other cases?
To tackle the general case, restart with the Jordan normal form $A = PJP^{-1}$ and find some $D$ so that $B = PDP^{-1}$ that works. If $A$ was diagonalizable, you could simply pick $D=J.$ Do you see what you have to do if $A$ isn't diagonalizable?