Buscar

ajuda para encontrar erro no algoritmo abaixo.

/*Faça um programa que dado um nome completo, retorne a abreviatura deste nome. Não
se devem abreviar as preposições como: do, de, etc. A abreviatura deve vir separada por
pontos. Exemplo, Paulo Jose de Almeida Prado.  P.J.A.P.*/

#include <stdio.h>
#include <string.h>


main()
{
int i;
char palavra[30];
printf("\nInforme uma palavra: ");
gets(palavra);
char anterior = '\0';
for(i = 0; palavra[i] != '\0'; i++)
{
if(i==0)
{
printf("%c", palavra[i]);
}
if (anterior == ' ')
{
printf(".");
}
anterior = palavra[i];
}
}

💡 8 Respostas

User badge image

Estudante PD

O erro é que voce apenas imprime a primeira letra da palavra. Depois, voce testa se o anterior é um caractere de espaço mas não imprime a primeira letra do próximo nome.

0
Dislike0
User badge image

Marcos Scarato

Bom isso eu vi Arnaldo mas to querendo saber onde errei no laço for para ele não continuar.

0
Dislike0
User badge image

Estudante PD

O laço está correto. Voce está tentando com a entrada de exemplo?

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais