Cambia la riga
if (is_int($n/6)) echo "<td>$punteggio</td></tr><tr>";
in
if (is_int($n/6)) {echo "<td>$punteggio</td></tr><tr>"; $punteggio=0;}

Piuttosto sei sicuro del caso che hai messo come esempio? Secondo la condizione ti dovrebbe dare 2 (prima riga) e 1 (seconda riga), perchè 1 non è maggiore di 1, se devi includere i bordi dell'insieme, scrivi:
if ($numero>=1 && $numero<=10)

PS: ci vuole pazienza per fare reverse engineering, anche se semplice... ti consiglio, quando chiedi sti consigli, di farti capire al volo spiegando cosa devi fare, ad esempio "devo contare per ogni 6 elementi dell'array quanti son compresi tra 1 e 10", così da farti rispondere prima (sempre se ti ho capito).