1. Faça um programa utilizando o comando “do - while”, este programa deve ficar lendo uma letra por vez do teclado até que o operador digite a letra x. Após o operador digitar x o programa deve apresentar na tela o número de vezes que o operador digitou dois caracteres iguais em sequencia.

Passo 1

O enunciado pede um programa em C que use o laço do – while para ler um caractere de cada vez até o operador digitar x. Quando isso acontecer, o programa deve exibir quantas vezes o usuário digitou dois caracteres iguais em sequência. O conteúdo principal é manipulação de entrada de caracteres, controle de fluxo com do – while e contagem de ocorrências.

Passo 2

Vamos definir as variáveis necessárias:
char atual, anterior; para armazenar o caractere lido na iteração corrente e o da iteração anterior.
int cont = 0; para contar quantas vezes apareceram duas letras iguais em sequência.
Inicializamos anterior com um valor que não seja letra (por exemplo, zero) para que na primeira leitura não haja comparação válida.

Passo 3

Esboço do algoritmo em pseudo-código:
inicializa anterior \(=0\) 
inicializa cont \(=0\) 
do { 
 lê caractere em atual 
 if (atual != 'x') { 
 if (atual \(==\) anterior) 
 incrementa cont 
 atribui anterior = atual 
 } 
} while (atual != 'x'); 
exibe cont 
Note que só comparamos quando atual for diferente de 'x', para não contar a letra de saída.

Passo 4

Agora traduzimos para C, tratando a leitura caractere a caractere (por exemplo, com getchar()) e exibindo o resultado ao final.

Resposta

#include <stdio.h>

int main() {
 char atual, anterior \(=0\);
 int cont \(=0\);

 printf("Digite letras (termina em 'x'):
");

 do {
 atual = getchar(); // lê um caractere
 // descarta o newline se quiser ignorar ENTERs
 if (atual \(==\) '
') continue;

 if (atual != 'x') {
 if (atual \(==\) anterior) {
 cont\(++\);
 }
 anterior = atual;
 }
 } while (atual != 'x');

 printf("Total de pares iguais em sequência: %d
", cont);
 return 0;
}

Exercícios relacionados