CodeXzombie

C - Contar as letras da maior Palavra em uma Frase

Feb 26th, 2015
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.60 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. /* Programa que lê uma frase e retorna o número de letras da maior palavra */
  6.  
  7. int main() {
  8.    
  9.     char frase[60], exc[3]; //exc são as excessões. Argumentos que o programa não pode contar como letra.
  10.     int tf=0, l=0,maior=0,i=0; //tf é o tamanho da frase, l a quantidade de letras e i eu vou usar pro loop do vetor
  11.    
  12.     exc[0]=' '; //aqui eu atribui 'espaço' ao ponteiro '0'
  13.     exc[1]='.'; //aqui eu atribui 'ponto' ao ponteiro '1'
  14.     /*lá em cima eu declarei que exc tem três argumento (exc[3]) pq a gente precisa reservar espaço pro caractere de escape
  15.     que é '\0'. Em C sempre que a gente digita uma String o C acrescenta de forma 'invisível' um \0 no final pra dizer
  16.     ao sistema que a string acabou.*/
  17.  
  18.    
  19.     printf("Digite uma frase: ");
  20.     gets(frase);
  21.    
  22.     tf=strlen(frase); //aqui eu estou pegando a quantidade de caracteres que foram digitados e armazenando na var tf
  23.    
  24.     for (i=0;i<tf;i++){             // enquanto i for menor que a quantidade de letras
  25.         if (frase[i]!=exc[0]){      //o programa vai ver se é 'espaço' (lembra do ponteiro lá em cima?)
  26.             if (frase[i]!=exc[1]){  //depois ele vê se é 'ponto'
  27.                 l++;        //se não for nem ponto nem espaço é letra, então acrescenta +1 na variavel l
  28.                 if (l>maior){
  29.                     maior=l;// se 'l' for maior do que a palavra anterior, guardamos a qtdd de letras
  30.                 }  
  31.             }
  32.         }
  33.         else l=0; //se o programa encontrar um 'espaço' é pq a palavra acabou então zeramos o contador pra contar a proxima!!!
  34.     }
  35.    
  36.     printf("\n\n\nA maior palavra da frase possui %d letras.\n\n\n\n\n",maior);
  37.    
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment