Let the total number of stones be $n$, which is an odd number. Then the middle stone is the $\frac{n+1}{2}$-th stone.
The stones are placed at intervals of 10 m, so each stone to the left or right of the middle stone is at a distance of 10 m, 20 m, 30 m, and so on.
When the man moves stones to the middle, he walks to the stone and returns, so for a stone at distance $d$ from the middle, he walks $2d$.
If there are $\frac{n-1}{2}$ stones on each side, their distances from the middle are: $10, 20, 30, \dots, \frac{n-1}{2} \times 10$.
Total distance walked = $2 \times 2 \times (10 + 20 + \dots + \frac{n-1}{2} \times 10)$. The extra factor of $2$ comes because he does this on both sides.
First, sum distances on one side:
Sum = $10(1 + 2 + 3 + \dots + \frac{n-1}{2})$.
This is an arithmetic series: $S = 10 \times \frac{\frac{n-1}{2} \times \frac{n+1}{2}}{2} = \frac{10}{2} \times \frac{n-1}{2} \times \frac{n+1}{2}$.
Total distance for both sides (and going and coming back each time): Multiply by 4:
Total distance = $4 \times \frac{10}{2} \times \frac{n-1}{2} \times \frac{n+1}{2} = 20 \times \frac{n-1}{2} \times \frac{n+1}{2}$.
We are told total distance = 4.8 km = 4800 m.
So: $20 \times \frac{n-1}{2} \times \frac{n+1}{2} = 4800$.
Simplify: $\frac{n-1}{2} \times \frac{n+1}{2} = 240$.
Multiply through: $\frac{n^2 - 1}{4} = 240 \Rightarrow n^2 - 1 = 960 \Rightarrow n^2 = 961 \Rightarrow n = 31$. Wait — that’s option (D). Let's check walking calculation carefully.
Actually, each stone is carried once, and for each distance $d$, he walks $2d$. On one side: Total = $2 \times 10(1 + 2 + \dots + k)$, where $k = \frac{n-1}{2}$. For both sides: Multiply by 2 again. So total distance = $4 \times 10 \times \frac{k(k+1)}{2} = 20 k(k+1)$.
Given: $20 k(k+1) = 4800 \Rightarrow k(k+1) = 240$.
So $k^2 + k - 240 = 0 \Rightarrow k = 15$.
Thus $n = 2k + 1 = 2(15) + 1 = 31$.
Therefore, the number of stones = $\boxed{31}$.