What is the difference between hundred, a hundred and one hundred? Which one is correct?
The book has hundred pages.
The book has a hundred pages.
The book has one hundred pages.
I think maybe the first one is correct. Is that right?
The first example is incorrect. The second and third examples are both correct. Which one you use is mostly a matter of preference, although a hundred appears more frequently than one hundred. There is also another form, an hundred, which was common in the past, but has mostly fallen out of use.
The second or third version is correct in my opinion.
When you say 'a hundred' or 'a million' you're just giving an order of magnitude, and the exact figure doesn't matter. So much so that when you say 'a million reasons not to do this' it obviously isn't important how many exactly. When you say 'one million' or 'one thousand' then you're usually being quite precise with the figure you're giving : 'I've won a million pesos at the lottery' (lucky you even though I suspect this isn't that much) or 'This village is one thousand inhabitants'.
Part of the answer to this depends on whether you are learning the American versus British English variant.
In British English, one would say
That cake had one hundred calories in it
In American English, one would more typically say
That cake had a hundred calories in it
Additionally there are other differences between how numbers are stated in British versus American English that often cause confusion for new learners:
This bicycle cost two thousand, one hundred thirty seven dollars
Would be a valid American English number, i.e. $2137, whereas in British English one would preferentially use the form
This bicycle cost two thousand, one hundred and thirty seven pounds.
Meaning the same number - £2137.
In both American and British English, you need to qualify the number with "a" or "one" when stating an exactitude, for example
This book has hundred pages
Is wrong in both American and British English. However, you can use the plural form of the quantity without "a" or "one" for indefinite quantities to express an order of magnitude:
This book has hundreds of pages
Which would be used either idiomatically to mean
This book has lots of pages
Or precisely to mean that the book has somewhere between 100-999 pages.
'Hundred' is the order of magnitude, just as 'twenty'shows the order of magnitude.
In the UK 'a hundred, a hundred and one, a hundred and two' etc is a common style when speaking about 100, 101, 102 etc. This form is also used when writing what has been spoken. 'One hundred' is also used. Either form is also used for 1,000, i.e.'a thousand', or 'one thousand' etc.
In the US, the form 'hundred' and 'thousand' is used with without the indefinite article 'a'. And 'one' is similarly not used when speaking about 100, 101, 102, 1000, 1001 etc.
Regarding one hundred or a hundred etc, the person saying that there is a difference is right - one is used more for precision but a is more common and employed. "I have a thousand, three hundred and thirty-one staff" sounds better if you say "one thousand..." as it is a precision.
To an English learner they may all appear correct from a logical point of view, with the second and third differing by specificity since they contain modifying quantifiers. However, from a grammatical point of view saying,
the book has hundred pages
is incorrect; yet
the book has twenty pages
All large numbers: a thousand, a million, a milliard, etc require an 'a' or the name of one of the following special numbers or combinations of them to precede it: 1-20,30,40,50,60,70,80, and 90. This oddity of English language occurs because these special number all have specific names:
One, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eighteen, nineteen, twenty, thirty, forty, fifty, sixty, seventy, eighty, ninety
If we did not have these special names for the tens then saying,
the book has twenty pages
would be impossible instead we would say,
the book has two ten pages
If this were true then it follows that it would be awkward to say,
I have ten books.
instead speakers would say,
I have a ten books and each book has one ten pages.
So from point of constructing a logical language it could be proposed that we say,
I have a five books and each book has one five pages,
however that sound completely ridiculous. Instead it is advisable that we say,
I have five books and each book has hundred pages.
So when the addition of a numerical quantifier such as 'a' or 'one' is redundant it's use the sentence should be entirely optional.
Unfortunately we are not reconstructing the English language therefore if you wish to be understood it is advisable that you conform to common usage and apply an 'a' or 'one' before large numbers.