There are different definitions of "percentile."
Usually a percentile is computed by first ranking all the data with 1 the lowest, 2 the next lowest, up through $N$. (The possibility of ties is a complication but does not change the essential idea.) Ranking from lowest to highest instead of highest to lowest is arbitrary but it gives definite rules. However, it would be nice if the percentile computed from ranking in one direction agreed with the percentile from ranking in the other.
You can convert a rank $k$ into a percentile by:
Computing $100 k /N$. This value will range from $100/N$ through $100N/N = 100$. Note the asymmetry: the highest is 100 but the lowest is nonzero.
Computing $100(k-1)/N$. This is the rule quoted in the question. The value will range from $0$ through $100(N-1)/N \lt 100$.
You can make the range of percentiles symmetric. This means that the percentile corresponding to rank $k$ is $100$ minus the percentile corresponding the rank in reverse order, which is $N+1-k$. To do this, compute $100(k-1/2) / N$. The values range from $100/(2N)$ to $100(1 - 1/(2N))$.
There are other ways to make the range symmetric. For instance, compute $100(k-1)/(N-1)$. Values range from $0$ through $100$.
(There are yet other rules, used especially for constructing probability plots, but you get the idea.)
Either using the first rule, the last rule, or rounding to the nearest percent, can produce a 100th percentile. As I recall, Excel's function for computing percentiles can produce 100 for the top-ranked value.