Concept:
To determine whether a function is one-one or onto:
• A function is one-one (injective) if different inputs always produce different outputs.
• A function is onto (surjective) if every real number in the codomain has at least one pre-image.
For polynomial functions:
• Odd degree polynomials with real coefficients are generally onto from \(\mathbb{R}\to\mathbb{R}\).
• To test one-one nature, examine monotonicity using derivatives.
Step 1: Check whether the function is onto.
Given:
\[
f(x)=x^3-3x+1
\]
This is a cubic polynomial.
Observe the behavior as \(x\to\infty\):
\[
f(x)\to\infty
\]
and as \(x\to-\infty\):
\[
f(x)\to-\infty
\]
Since the function is continuous and takes all real values from \(-\infty\) to \(+\infty\), every real number has a pre-image.
Hence the function is onto.
Step 2: Check whether the function is one-one.
Differentiate:
\[
f'(x)=3x^2-3
\]
\[
=3(x^2-1)
\]
\[
=3(x-1)(x+1)
\]
Critical points occur at:
\[
x=-1,\qquad x=1
\]
Now examine sign changes.
\[
f'(x)>0
\quad \text{for} \quad x<-1
\]
\[
f'(x)<0
\quad \text{for} \quad -1<x<1
\]
\[
f'(x)>0
\quad \text{for} \quad x>1
\]
Thus, the function first increases, then decreases, then increases again.
Therefore the function is not strictly monotonic on \(\mathbb{R}\).
Hence it is not one-one.
Step 3: Conclude the result.
We found:
• Function is onto
• Function is not one-one
Therefore,
\[
\boxed{
\text{Onto but not one-one}
}
\]
Hence the correct answer is:
\[
\boxed{(C)}
\]