Дано слово. Определить сколько различных букв в нём (можно использовать string.h) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дано слово. Определить сколько различных букв в нём (можно использовать string.h), например, если вводим greeterg, результат будет 4

Решение задачи: «Дано слово. Определить сколько различных букв в нём (можно использовать string.h)»

textual
Листинг программы
#include <stdio.h>
 
int main(void) {
    char str[] = "greeterg";
    int symbols[256] = { 0 };
    for (char* i = str; *i; ++i) {
        ++symbols[(unsigned)*i];
    }
    int res = 0;
    for (int i=0; i < 256; ++i) {
        if (symbols[i]) ++res;
    }
    printf("%d\n", res);
    return 0;
}

Объяснение кода листинга программы

В этом коде:

  1. Создаётся массив символов str типа char с заданным словом greeterg.
  2. Создаётся массив symbols типа int с 256 элементами, и все они инициализируются нулём.
  3. В цикле перебираются все символы в строке str.
  4. Для каждого символа увеличивается соответствующий элемент в массиве symbols на единицу.
  5. Создаётся переменная res типа int и инициализируется нулём.
  6. В цикле перебираются все элементы массива symbols.
  7. Если значение элемента больше нуля, то к переменной res прибавляется единица.
  8. Результат выводится на экран с помощью функции printf.
  9. Программа возвращает 0, что означает успешное завершение работы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы