!Este programa lê N números e para cada número lido imprime a soma dos seus dígitos.
program soma_digitos
	implicit none
	integer n, num, digito, soma_digito, cont
    
    write(*,*) "Este programa le N numeros e para cada numero lido imprime a soma dos seus digitos"
    write(*,*) 
    write(*,*) "Digite um valor para N"
    read (*,*) n

    do cont = 1, n, 1
       write(*,*) "Digite um numero inteiro"
       read (*,*) num
             
       soma_digito = 0
    
       do while (num /= 0) !Faz sucessivas divisões de num por 10. Em cada divisão o resto é um dos dígitos do numero lido.
         digito = mod(num,10)
         soma_digito = soma_digito + digito
         num = num / 10
       end do
       
       write (*, *) "o somatorio dos digitos eh ", soma_digito
    end do
    stop   
end program soma_digitos
