Какой такой принцип работы? Все просто: ходим по всему тексту (это первый
for), пока строка не закончится... С каждым символом строки делаем следующее: берем его
код (преобразованием к
int), и элемент массива count, соответствующий этому коду увеличиваем на 1...
Изначально count весь обнуляется (это достигается записью:
int count[256] = {0})... Ну, и распечатываем: перебираем все коды от 0 до 255 (больше просто нет кодов для char
); если счетчик для какого-то кода больше 0, то печатаем символ с этим кодом и содержимое счетчика... Где затруднения?