Подсчет количества слов, начинающихся с заданной буквы - C (СИ)
Формулировка задачи:
Вот программа, которая обрабатывает последовательность символов, и если новое слово начинается с k то счетчик++. но у меня оператор switch не хочет присваивать значение 1 переменной razdel (если символ-разделитель)
<code>
</code>
и если добавить printf ("%d",razdel) после свитч, можно увидеть, что даже когда вводишь пробел то значение разделителя остается 0.
#include <stdio.h> #include <stdlib.h> #include <conio.h> #define DA 1 #define NET 0 int main() { int razdel, nextSym,sym,kol; kol=0; sym=getchar(); while ((nextSym=getchar())!=EOF) { switch ( sym ) { case ' ': {razdel=DA;} case '\n': {razdel=DA;} case '\t': {razdel=DA;} default: {razdel=NET;} } printf ("%d",razdel); if ((razdel==DA) && (nextSym=='k'))kol++; sym=nextSym; } printf ("%d\n",kol); printf ("Good job, very good job..."); return 0; }
Решение задачи: «Подсчет количества слов, начинающихся с заданной буквы»
textual
Листинг программы
switch ( sym ) { case ' ': razdel=DA; break; case '\n': razdel=DA; break; case '\t': razdel=DA; break; default: razdel=NET; }
Объяснение кода листинга программы
В данном коде на языке C выполняется следующая задача — подсчет количества слов, начинающихся с заданной буквы. Приведенный код реализует функцию, которая принимает на вход символ и в зависимости от его значения устанавливает переменную razdel
в одно из двух возможных значений — DA или NET.
Список изменений, которые происходят в коде:
- В случае если символ равен пробелу, переменной
razdel
присваивается значение DA. - В случае если символ равен символу новой строки (перевод строки), переменной
razdel
присваивается значение DA. - В случае если символ равен табуляции (символTab), переменной
razdel
присваивается значение DA. - Во всех остальных случаях переменной
razdel
присваивается значение NET. Обратите внимание, что в данном коде не учитываются знаки препинания и цифры. Для корректного подсчета слов, начинающихся с заданной буквы, необходимо добавить дополнительные условия, которые будут учитывать эти случаи.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д