Suppose $\vec x = \begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}$, and $\vec y = \begin{bmatrix}y_1\\y_2\\\vdots\\y_n\end{bmatrix}$.
Then the column vectors of matrix $xy^T$ are: $$\begin{matrix}\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}\times y_1, && \begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix} \times y_2, && \ldots && \begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix} \times y_n \end{matrix}$$
So every column vector of matrix is a multiple of vector $x$, or we can say that every column vector of matrix is multiple of first column vector $y_1 \times \begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}$
Hence there is only one independent column vector in the matrix, and so rank is one.
So option (d) is correct.