IvoSilva

[PROG1] Ficha 10 | Exercício 6

Jan 11th, 2012
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.03 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define LIMIT 200
  4. int nr(char frase[])
  5. {
  6.     int i , soma = 0 ;
  7.     for (i = 0 ; i < strlen(frase) ; i++) if (frase[i] == ' ') soma++ ;
  8.     return soma ;
  9. }
  10. char* maior(char frase[] , float *soma)
  11. {
  12.     char palavras[LIMIT][LIMIT] ;
  13.     int i , x = 0 , y = 0 , max = 0 ;
  14.     for (i = 0 ; i < strlen(frase) ; i++)
  15.     {
  16.         if (frase[i] != ' ')
  17.         {
  18.             palavras[x][y] = frase[i] ;
  19.             y++ ;
  20.         }
  21.         else
  22.         {
  23.             x++ ;
  24.             *soma += y ;
  25.             y = 0 ;
  26.         }
  27.     }
  28.     for (i = 1 ; i < x ; i++) if (strlen(palavras[i]) > strlen(palavras[max])) max = i ;
  29.     return (palavras[max]) ;
  30. }
  31. void main()
  32. {
  33.     char frase[LIMIT] ;
  34.     float soma = 0 ;
  35.     printf ("Frase? ") ;
  36.     fgets (frase , LIMIT , stdin) ;
  37.     frase[strlen(frase) - 1] = ' ' ;
  38.     printf ("Número de palavras : %d\nPalavra maior      : %s\n" , nr(frase) , maior(frase , &soma)) ;
  39.     printf ("Comprimento médio  : %.1f\n" , soma / nr(frase)) ;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment