Smoothing out analog read value

couple of things. first, temperature does not typically change very fast, look for some interference with the A/I,
what are you doing with aref ?

the simple answer is to use a floating decimal in the display, not an integer

another possible solution is to average the average, then compare to the last displayed value and only change if the average of the average is moving too far from the reading.

consider pulse without delay, read the value every 5 seconds.
with 5 registers.
move the data from r4 into r5, from r3 into r4, from r2 into r3, from r1 into r1 and from the reading into r1
average r1 thru r5

that will give you the first rolling average.

then data from rl4 into rl5, from rl3 into rl4, from rl2 into rl3, from rl1 into rl2 and then put the first rolling average into rl1
average that.

if your reading is changing much when you integrate 5 readings, look to your sensor, or input.

also, you can control by the first rolling values, and display only the very slow rolling average.

another way to look at the output is more like a control loop.
you have the very slow reading.
use integral on the readings. do not change your displayed value into there is a half degree change in that integral.