Как в языке СИ посчитать количество согласных букв, окруженных цифрами?

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

Прежде всего, нам понадобится ввести строку с помощью функции scanf() или fgets(). Например, мы можем объявить массив символов str и ввести значение с помощью scanf():

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

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

int count = 0;

Затем, мы можем использовать цикл for для перебора каждого символа в строке и проверки, является ли он согласной буквой и окружен ли он цифрами:

for (int i = 1; i < strlen(str) - 1; i++) {
    if (is_consonant(str[i]) && is_digit(str[i - 1]) && is_digit(str[i + 1])) {
        count++;
    }
}

В данном коде мы использовали функции is_consonant() и is_digit(), которые являются пользовательскими функциями и проверяют, является ли символ согласной буквой или цифрой соответственно. Например, функция is_consonant() может выглядеть следующим образом:

int is_consonant(char c) {
    c = tolower(c); // Приводим символ к нижнему регистру для сравнения
    if (c >= 'a' && c <= 'z' && !(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')) {
        return 1; // Возвращает 1, если символ является согласной буквой
    } else {
        return 0; // Возвращает 0, если символ не является согласной буквой
    }
}

Функция is_digit() проверяет, является ли символ цифрой:

int is_digit(char c) {
    return c >= '0' && c <= '9'; // Возвращает 1, если символ является цифрой
}

Затем, мы можем вывести результат:

printf("Количество согласных букв, окруженных цифрами: %dn", count);

Полный код программы может выглядеть следующим образом:

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int is_consonant(char c) {
    c = tolower(c); // Приводим символ к нижнему регистру для сравнения
    if (c >= 'a' && c <= 'z' && !(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')) {
        return 1; // Возвращает 1, если символ является согласной буквой
    } else {
        return 0; // Возвращает 0, если символ не является согласной буквой
    }
}

int is_digit(char c) {
    return c >= '0' && c <= '9'; // Возвращает 1, если символ является цифрой
}

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

    int count = 0;
    for (int i = 1; i < strlen(str) - 1; i++) {
        if (is_consonant(str[i]) && is_digit(str[i - 1]) && is_digit(str[i + 1])) {
            count++;
        }
    }

    printf("Количество согласных букв, окруженных цифрами: %dn", count);

    return 0;
}

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