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

Duvida em um problema de strings em C


carolb.

Pergunta

o problema é o seguinte:

Codifique um programa que leia do teclado palavras, terminando quando receber a palavra “stop''. Cada palavra lida deve ser escrita na tela, com um espaço separador entre os caracteres.

Exemplo:

palavra? ola

o l a

palavra? rui

r u i

palavra? stop

O meu código ficou assim:

#include <stdio.h>

#include <string.h>

int main()

{

char palavra[100];

int i=0,size,a ;

printf("\npalavra? ");

gets(palavra);

size=strlen(palavra);

a=size+1;

for(i=0;i<a;i++){

printf ("%c ", palavra);

}

return 0;

}

Deu certo, porém não consigo fazer o scan até que o stop seja digitado.

Sei que tenho que colocar um while, mas não da certo.

Como faço? :unsure:

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
o problema é o seguinte:

Codifique um programa que leia do teclado palavras, terminando quando receber a palavra “stop''. Cada palavra lida deve ser escrita na tela, com um espaço separador entre os caracteres.

Exemplo:

palavra? ola

o l a

palavra? rui

r u i

palavra? stop

O meu código ficou assim:

#include <stdio.h>

#include <string.h>

int main()

{

char palavra[100];

int i=0,size,a ;

printf("\npalavra? ");

gets(palavra);

size=strlen(palavra);

a=size+1;

for(i=0;i<a;i++){

printf ("%c ", palavra);

}

return 0;

}

Deu certo, porém não consigo fazer o scan até que o stop seja digitado.

Sei que tenho que colocar um while, mas não da certo.

Como faço? :unsure:

pode usar dois for encadeado e um break para sair ou um while ou do.. while.

Dica: a função strlen() retorna um inteiro com o tamanho da string, não precisa armazenar ela é só usar direto

#include <stdio.h>
#include <string.h>
int main()
{
    char palavra[100];
    int i;
    for(;;)// um loop infinito
   {
       printf("\npalavra? ");
       gets(palavra);
       if(!(strcmp(palavra, "stop"))) break; //se for igual a stop sai do loop
       for(i = 0; i<strlen(palavra); i++)  // imprimi com espaços
       printf("%c ", palavra[i]);
   }

return 0;
}

Editado por Dan Oliveira
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...