Exercícios Resolvidos de Strings

Ver Teoria

Enunciado

Implemente um programa em C que receba um nome completo e apresente apenas o último nome e o primeiro nome na seguinte forma: “1º nome, último nome”. Considere que todas as entradas de nomes completos serão compostas apenas de 3 nomes, por exemplo: José Almeida Barros.

Passo 1

A primeira coisa que devemos fazer para desenvolver esse programa, é definir seu o escopo.

Passo 2

Com o escopo definido, podemos declarar os vetores necessários para o desenvolvimento desse programa.

Informações sobre os vetores:

  • primeiroNome é um vetor de caracteres que será responsável por armazenar o primeiro nome do nome completo inserido pelo usuário;
  • intermediario é um vetor de caracteres que será responsável por armazenar o nome do meio (que será ignorado);
  • ultimoNome é um vetor de caracteres que será responsável por armazenar o último nome do nome completo inserido pelo usuário.

Passo 3

Basicamente, nós utilizaremos expressões regulares na função scanf para definir apenas aquilo que desejamos ler.

Devemos estabelecer duas leituras até o primeiro espaço em branco digitado, ignorando esses espaços logo em seguida para que eles não afetem as leituras posteriores. Dessa forma, teremos o primeiro nome e o nome intermediário (que sempre são seguidos de espaço em branco, por isso a expressão regular).

Porém, a leitura do último nome deve ser realizada usando como parâmetro de parada na expressão regular a quebra de linha. Isso fará com que a tecla enter de confirmação seja o gatilho para a obtenção do último nome.

Passo 4

Após a leitura, basta imprimirmos os nomes no formato exigido pelo enunciado:

Resposta

Ei, a resposta está no passo a passo :)