Szczerze to nie za bardzo wiem czego oczekujesz od kodu, który robi cuda typu total = total. Nie jestem też przekonany, czy inkrementowanie zmiennej w ifie jest tym, co chciałeś uczynić.
Właściwie to nie jestem przekonany do tego, czy rozumiesz, na czym polega problem postawiony w zadaniu.
Natomiast Twój kod jest programistycznie całkiem prawidłowy, doczepiłbym się tylko dwóch miejsc, ale przy statycznej tablicy odpowiednich rozmiarów to raczej bez znaczenia. Nie mam w czym Ci pomóc - po prostu Twój program nie obsługuje pewnych liczb, bo (w przypadku usunięcia i++) żaden z ifów nie jest spełniony, o czym przekonasz się wstawiając flagę i sprawdzając ją co iterację pętli po wywołaniu wszystkich instrukcji warunkowych.
Jeżeli zaś i++ zostanie, nigdzie nie masz kodu, który realizuje dodawania liczby pominiętej przy tej inkrementacji.