Bom dia, João! Tudo bem?
Ambas as implementações são validas e funcionam corretamente para solucionar esse problema.
Porém, pensando em eficiência, o do... while
é melhor, pois, ele realiza a ação de repetição e depois verifica se já cumpriu a condição de parada. O for
por sua vez, é limitado por definir a quantidade máxima de repetições que vão ser realizadas.
Então, num contexto que desconheço a quantidade de repetições que serão realizadas, o do... while
é o mais eficiente, enquanto isso, em um problema que já tenho um tamanho definido e terá uma quantidade de repetições menor, o for
é ótimo para isso.
Espero ter esclarecido e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.