I think both "a 100 meters race or a 100-meter race" are possible.
He ran a 100 meters race.
He ran a 100-meter race.
How can you explain the difference?
PS: The question has been closed because it turns out to have been answered in these threads. That is what I was told by moderators.
Shouldn't "five minute walk" be "five minutes walk" in this sentence? X feet long/high versus (a/an) x-foot [noun] "6-foot tall" or "6-feet tall"?
Now I wonder how on earth those threads answer my question? None of them tackles the issue of "a + number + a plural noun+ a singular noun"
a 100 meters race has nothing to do with a five minute talk or five minutes' talk. If you guy had given me a thread where there would be a five minutes talk, I would agree with you, but no way I will now. You did a poor job. Very poor.