#include <stdio.h>
int main()
{
int index = 0, contador;
char letras[5] = "Joao";
for (contador = 0; contador < 1000; contador++)
{
printf("\n%c",letras[index]);
(index == 3) ? index = 0: ++index;
}
}
O nome Joao é escrito na tela verticalmente até a variável contador determinar o término
do programa. Enquanto isto a variável index assume os valores 0, 1, 2, 3, , 0, 1, … progressivamente.
Altere o último exemplo para que ele escreva cada letra 5 vezes seguidas. Para isto, use um ’if’ para testar se o contador é divisível por cinco (utilize o operador %) e só então realizar a atualização em index.
Já tentei executar ele de varias formas mais não consigo que ele imprima 5 vezes cada letra, não estou entendendo a logica. Alguém que possa sanar a minha duvida e me explicar?
Se entendi certo, você quer imprimir 5 vezes cada letra seguidamente, de forma que formem 5 colunas com o nome Joao. Então três dicas:
O for deveria percorrer a quantidade suficiente para imprimir apenas o nome cinco vezes, então reduza para 5 * 4 = 20.
Na própria questão diz que você deverá realizar o teste do contador se é módulo 5, então use contador % 5 == 0. Além disso, ao invés de iniciar contador em 0, porque não em 1? Assim ficaria o intervalo 1 <= contador <= 20.
Cada vez que index é atualizado, na dica 2, então imprima o ‘\n’.