Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- /* Programa que lê uma frase e retorna o número de letras da maior palavra */
- int main() {
- char frase[60], exc[3]; //exc são as excessões. Argumentos que o programa não pode contar como letra.
- 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
- exc[0]=' '; //aqui eu atribui 'espaço' ao ponteiro '0'
- exc[1]='.'; //aqui eu atribui 'ponto' ao ponteiro '1'
- /*lá em cima eu declarei que exc tem três argumento (exc[3]) pq a gente precisa reservar espaço pro caractere de escape
- que é '\0'. Em C sempre que a gente digita uma String o C acrescenta de forma 'invisível' um \0 no final pra dizer
- ao sistema que a string acabou.*/
- printf("Digite uma frase: ");
- gets(frase);
- tf=strlen(frase); //aqui eu estou pegando a quantidade de caracteres que foram digitados e armazenando na var tf
- for (i=0;i<tf;i++){ // enquanto i for menor que a quantidade de letras
- if (frase[i]!=exc[0]){ //o programa vai ver se é 'espaço' (lembra do ponteiro lá em cima?)
- if (frase[i]!=exc[1]){ //depois ele vê se é 'ponto'
- l++; //se não for nem ponto nem espaço é letra, então acrescenta +1 na variavel l
- if (l>maior){
- maior=l;// se 'l' for maior do que a palavra anterior, guardamos a qtdd de letras
- }
- }
- }
- else l=0; //se o programa encontrar um 'espaço' é pq a palavra acabou então zeramos o contador pra contar a proxima!!!
- }
- printf("\n\n\nA maior palavra da frase possui %d letras.\n\n\n\n\n",maior);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment