Ir para conteúdo
Fórum Script Brasil
  • 0

String


viciado

Pergunta

Leia um nome e abreviar os nomes do meio. Exemplo: Jose Antonio Pereira Chaves ==> Jose A. P. Chaves

Fiz esse codigo mais está repetindo sempre todos os nomes e não sei como fazer para imprimir o ultimo nome

#include <stdio.h>
#include <stdlib.h>

int main()
{
  char nome[51];
  printf("Digite o seu nome completo \n");
  fgets(nome, 51, stdin);
  int tam = strlen(nome);
  int i;
  for(i=0;i<tam;i++){
                     while(nome[i] != ' '){
                                   printf("%s",nome);
                                   }
                     if(nome[i] == ' ')
                                printf("%c.",nome[i+1]);
                                }                                
  system("PAUSE");    
  return 0;
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olhe isso:

while(nome[i] != ' '){
printf("%s",nome);
}

Existem dois erros aí

1. Você está comparando nome com " ", mas a variável nome é sempre a mesma nessa parte (a variável só muda no incremento do outro loop (aquele outro for)).Troque esse loop aí por um if

2. Você está sempre imprimindo o nome inteiro, deveria imprimir apenas um caractere

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...