Il codice potrebbe essere strutturato molto meglio ma sostanzialmente l'errore e' che prompt ritorna una stringa e non un Number, per cui il resto dei controlli e' falsato dalle conversioni di tipo implicite:
JavaScript:
// Cambia
var temp = prompt("Temperatura giorno "+i);
// Con
var temp = Number(prompt("Temperatura giorno "+i));