Kiedy suma była globalna, przy początku następnego testu zostawała by wartość z poprzedniego, o ile byś jej nie wyzerował. To jeden z powodów dla których zmienne powinny być "jak najniżej" (czyli wszystko poza testy w pierwszym forz-e ). Swoją drogą skoro działa to wyedytuj post i usuń kod z forum.
edit: zawsze nadawaj zmiennym wartości początkowe, bez tego są w nich "śmieci" (czyli wartości losowe), co np w przypadku zmiennej suma oznaczało by że program daje złe wyniki mimo że liczy bez zarzutu. A to może być ciężkie do wykrycia inaczej niż przez nadanie im wartości początkowych.