Напечатать все слова, состоящие из M букв - C (СИ)
Формулировка задачи:
Ребят, выручите чайника
1. Дана строка из отдельных английских слов. Напечатать все слова, состоящие из M букв.
2. Задана строка символов. Получить новую строку, в которой вначале стоят все символы, стоящие на четных местах в исходной строке, а затем – стоящие на нечетных.
Нашёл такую тему в С++, пытался сделать по аналогии, но... синтаксис плохо знаю, в субботу сдавать, вникаться по книге с нуля тяжело да и времени особо нет, но с вашей помощью будет легче
Решение задачи: «Напечатать все слова, состоящие из M букв»
textual
Листинг программы
while (s[i]!='' )
{
l=0;
while (s[i] !=' ') {l++; i++; p[l]=s[i]}
if (l==m) { for (k=0; k<m; k++) printf("%c", p[k]); } }
i++;
}
Объяснение кода листинга программы
В этом коде на языке C происходит следующее:
- Переменная
sсодержит строку, в которой нужно найти слова, состоящие изmбукв. - Переменная
iявляется индексом текущего символа в строкеs. - Переменная
lиспользуется для подсчета количества букв в текущем слове. - Переменная
pявляется массивом, в котором будут храниться символы найденного слова. - В цикле
whileпроисходит поиск слов, состоящих изmбукв. - Внутри цикла
whileпроисходит поиск символов, не являющихся пробелами, и сохранение их в массивеp. - Если длина слова равна
m, то это слово выводится на экран с помощью циклаforи функцииprintf. - После выхода из цикла
whileиндексiувеличивается на 1, чтобы перейти к следующему слову в строкеs.