1
resposta

apesar de funcionar, o printf do numero escolhido para tabuada trava, tb n entendi pq nao podemos usar uma variavel para resresentar o resultado da multiplicação(a*i)

#include <stdio.h>

int main() {

    int a;
    int active = 1;
    int i = 0;


    printf("CALCULADORA.EXE");
    scanf("%d", &a);


    while (active == 1) {

        int times = i * a;
        printf("%d x %d = %d\n", a,i,times);

        i = i + 1;

        printf("%d\n", a, i, times);

        if (i == 11) {

            active = 0;

        }
    }
}
1 resposta

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 iea entrará no terceiro valor de %d eliminando assim a necessidade da variável times.

Espero ter ajudado! Bons estudos!