How to find highest frequency character in a string with C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>

#define TOTLAASCII 256
   
int main()
{
    char s[] = "c++phpcpythonc#java";
    char arr[TOTLAASCII] = ""; 
    int len = strlen(s);
     
    
    for (int i = 0; i < len; i++) {
        arr[s[i]]++;
    }
    
    int max = arr[0];
    char ch = ' ';
    for (int i = 1; i < TOTLAASCII; i++) {
        if (arr[i] > 0) {
            printf("%c - %d\n", i, arr[i]);
            if (arr[i] > max) {
                max = arr[i];
                ch = (char)i;
            }
        }
    }
    
    printf("Highest frequency character: %c", ch);
        
    return 0;
}
   
   
   
   
/*
run:
   
# - 1
+ - 2
a - 2
c - 3
h - 2
j - 1
n - 1
o - 1
p - 3
t - 1
v - 1
y - 1
Highest frequency character: c
     
*/

 



answered Jan 19, 2021 by avibootz
edited Jan 19, 2021 by avibootz

Related questions

1 answer 132 views
1 answer 241 views
1 answer 189 views
1 answer 224 views
1 answer 143 views
...