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

Strings


gorizia

Pergunta

Programa que leia uma linha de texto e informe a quantidade de palavras e qual
a maior palavra da linha digitada.

Não estou conseguindo fazer funcionar:

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main(void) {
   const char * frase = "FRASE";
   int quantidade_palavras = 0;
   int tamanho_maior = 0;
   int tamanho_tmp = 0;
   char * inicio_maior = &frase[0];
   char * palavra_inicio = &frase[0];
 
   while (1) {
      tamanho_tmp = strcspn(palavra_inicio, " ");
      if (!tamanho_tmp) break;
 
      quantidade_palavras++;
      if (tamanho_tmp > tamanho_maior) {
         tamanho_maior = tamanho_tmp;
         inicio_maior = palavra_inicio;
      }
 
      palavra_inicio = palavra_inicio + sizeof(char) * tamanho_tmp + 1;
   }
 
   printf("Quantidade de palavras:%d\n", quantidade_palavras);
   char * maior = (char *)malloc(sizeof(char) * tamanho_maior+1);
   if (maior) {
      strncat(maior, inicio_maior, tamanho_maior);
      printf("Maior palavra: %s\n", maior);
      free(maior);
   }
   return 0;
}

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,4k
×
×
  • Criar Novo...