Для подсчета количества согласных букв, окруженных цифрами, в языке 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; }
Таким образом, программа просит пользователя ввести строку, а затем подсчитывает количество согласных букв, окруженных цифрами, и выводит результат на экран.