[Tex/LaTex] Can’t get table border lines to meet in the corners

tables

I'm trying to create a table with horizontal and vertical lines, but the lines aren't meeting in the corners and I can't work out why. Can anyone point out what I'm doing wrong?

\documentclass[a4paper,10pt]{report}
\usepackage{booktabs}
\begin{document}

\begin{tabular} { | r | p{2cm} | p{2cm} | }
\toprule
\# & One & Two \\
\midrule
1 & alpha & bravo \\
2 & apple & banana \\
\bottomrule
\end{tabular}

\end{document}

Running this through a few different versions of pdflatex always produces this output, in Acrobat Reader and evince:

Example image showing lines not meeting in the corners

How do I get the horizontal and vertical lines to meet?

Best Answer

enter image description here

\documentclass[border=10pt]{standalone}

\begin{document}

\begin{tabular} { | r | p{2cm} | p{2cm} | }
\hline
\# & One & Two \\
\hline
1 & alpha & bravo \\
2 & apple & banana \\
\hline
\end{tabular}

\end{document}

Edit 3

If you are a perfectionist, please consider the following defects at the intersection of horizontal and vertical lines.

enter image description here

Maybe you hate them even though they are small enough to be visible at a glance.

Edit 3.1

Based on Ulrike's comment below, we need to use array package to remove such a bad feature.

\documentclass[border=10pt]{standalone}

\usepackage{array}
\begin{document}

\begin{tabular} {|r|p{2cm}|p{2cm}|}
\hline
\# & One & Two \\
\hline
1 & alpha & bravo \\
2 & apple & banana \\
\hline
\end{tabular}

\end{document}

enter image description here