Sounds like there are readings that return 0 (outlier) which will invalidate teh average
another way that is more robust for outliers is to use a running average. It does react slower on (fast) changes .
something like
float value;
void loop()
{
value = 0.95 * value + 0.05 * analogRead(A0); // takes only 5% of new reading into account
Vout=(Vin/1024)*(value );
Rntc=(Vout*Rfija)/(Vin-Vout);
TempK = Beta/(log(Rntc/R25)+(Beta/T0));
TempC = TempK-273.15;
Serial.println(TempC);
}
yet another option is to use my running median library - Arduino Playground - RunningMedian - which has of course its own behavior