fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5. char string[100];
  6. char tabela[256];
  7.  
  8. // Limpa a tabela.
  9. for (int i = 0; i < 256; i++) {
  10. tabela[i] = 0;
  11. }
  12.  
  13. // Lê a frase do usuário.
  14. printf ("\nEscreva um texto: \n");
  15. fgets(string, 100, stdin);
  16. int tamanho = strlen(string);
  17.  
  18. // Monta a tabela de frequências.
  19. for (int i = 0; i < tamanho; i++) {
  20. char c = string[i];
  21.  
  22. // Ignora o espaço.
  23. if (c == ' ') continue;
  24.  
  25. // Se for uma letra minúscula, troca por maiúscula.
  26. if (c >= 'a' && c <= 'z') c = c - 'a' + 'A';
  27.  
  28. // Contabiliza na tabela.
  29. tabela[c]++;
  30. }
  31.  
  32. // Busca o índice de maior ocorrência na tabela.
  33. int maior = 0;
  34. char letra = '\0';
  35. for (int i = 0; i < 256; i++) {
  36. int t = tabela[i];
  37. if (t > maior) {
  38. maior = t;
  39. letra = (char) i;
  40. }
  41. }
  42.  
  43. // Mostra o resultado.
  44. printf("\nO caractere '%c' aparece %d vezes.\n", letra, maior);
  45.  
  46. // Fim.
  47. return 0;
  48. }
Success #stdin #stdout 0s 4404KB
stdin
O rato roeu a roupa do rei de Roma e a rainha roeu o resto.
stdout
Escreva um texto: 

O caractere 'O' aparece 9 vezes.