Должен ли я разделить его на основе слов или
на основе каждого символа
Требуется сделать токены, поэтому вы должны разделить их по словам. Каждое слово становится уникальным строковым ключом. Было бы целесообразно, чтобы значением было количество каждого токена.
Если файл, который вы читаете, имеет три строки:
int alpha;
int beta;
float delta;
Тогда у вас должно быть что-то вроде
<"int", 2>
<";", 3>
<"alpha", 1>
<"beta", 1>
<"float", 1>
<"delta", 1>
(Точка с запятой может или не может считаться токеном.)
Ваша средняя длина будет (3x2 + 3x1 + 5 + 4 + 5 + 5) / 6.
Ваша длина токенов, начинающаяся с «а», будет 5,0.
Найдите в другом месте на этом форуме набор ключей, и вы должны быть в порядке.