Olá Eliabe!
Quanto ao printf
travar (aparecer após cada iteração do loop), se deve a uma linha de código que parece estar sobrando.
Remova a linha printf("%d\n", a, i, times);
, que está abaixo da linha i = i + 1;
, que isso não vai mais acontecer.
Quanto a segunda dúvida, não ficou muito claro o que realmente está acontecendo. Mas se eu entendi direito, na linha que vai mostrar o resultado, você pode modificar o código para ficar assim:
printf("%d x %d = %d\n", a, i, (i * a));
Com isso, a multiplicação entre i
ea
entrará no terceiro valor de %d
eliminando assim a necessidade da variável times
.
Espero ter ajudado! Bons estudos!