Il ciclo è in effetti sbagliato perché il confronto tra la prima cifra e la somma avviene all'interno del ciclo in cui viene calcolata la somma.
Prova ad usare qualche funzione aggiuntiva in modo da semplificarti la logica del programma. Per esempio puoi considerare una funzione che ti calcola la somma delle cifre in una stringa.
Alcuni commenti:
1. Non è necessario dichiarare le variabili all'inizio del blocco e quando si fa sarebbe preferibile fornire un valore iniziale.
2.
isdigit è una funzione/macro standard per verificare che un carattere è una cifra (di fatto è molto probabilmente implementata esattamente come hai fatto tu ma può comunque essere utile sapere che esiste
ctype.h per cose del genere).
3. Sarebbe utile una formattazione del codice più uniforme.