The smallest self-improving program
GNU Octave / MATLAB, 14

f=@(n)n+sin(n)


You don't generally take a standard input with Octave programs, so this is a function which gives an improved estimate of pi after every call on its previous output. Sample run:

octave&gt; f=@(n)n+sin(n);
octave&gt; format 'long'
octave&gt; n = 1;
octave&gt; n = f(n)
n =  1.84147098480790
octave&gt; n = f(n)
n =  2.80506170934973
octave&gt; n = f(n)
n =  3.13527633289972
octave&gt; n = f(n)
n =  3.14159261159065
octave&gt; n = f(n)
n =  3.14159265358979