Как определить количество разных букв алфавита?

Для определения количества разных букв алфавита в строке в языке программирования C можно воспользоваться различными подходами. Один из самых простых способов - это использование массива или битовой маски для отслеживания появления каждой буквы в строке.

Ниже приведен пример функции на C, которая определяет количество разных букв алфавита в строке:

#include <stdio.h>

int countUniqueLetters(char* str) {
    int letters[26] = {0};  // массив для отслеживания появления каждой буквы
    int count = 0;          // счетчик уникальных букв

    for (int i = 0; str[i] != ''; i++) {
        char c = str[i];
        
        if (c >= 'a' && c <= 'z') {
            if (letters[c - 'a'] == 0) {
                count++;
                letters[c - 'a'] = 1;
            }
        }
        else if (c >= 'A' && c <= 'Z') {
            if (letters[c - 'A'] == 0) {
                count++;
                letters[c - 'A'] = 1;
            }
        }
    }

    return count;
}

int main() {
    char str[100];
    printf("Введите строку: ");
    scanf("%[^n]", str);

    int uniqueLetters = countUniqueLetters(str);

    printf("Количество различных букв алфавита: %dn", uniqueLetters);

    return 0;
}

В этом примере мы создали функцию countUniqueLetters, которая получает в качестве аргумента указатель на строку. Внутри функции мы определяем массив letters размером 26 (по количеству букв в английском алфавите). Значения массива инициализируются нулями.

Затем мы проходим по строке символ за символом с помощью цикла for. Проверяем, является ли текущий символ буквой алфавита, и, если да, то проверяем, встречалась ли эта буква ранее. Если буква встречается впервые, увеличиваем счетчик count и устанавливаем соответствующее значение в массиве letters в единицу.

В конце функции возвращаем значение счетчика count, которое и будет представлять количество различных букв алфавита в строке.

В функции main мы считываем строку с помощью функции scanf и передаем ее в функцию countUniqueLetters. Затем выводим результат на экран.

Таким образом, данный код позволяет определить количество различных букв алфавита в заданной строке на языке C.