Определить слова, которые содержат хотя бы одну букву d - C (СИ)
Формулировка задачи:
Вот условие задачи:
Задана не пустая последовательность не пустых слов из латинских букв; соседние слова отделяются
одно от другого запятыми, а по последнему слову является точка. Определить слова, которые содержат хотя бы одну букву d.
Пока понял как сделать цикл:
Но не знаю как ввести строку. Сделайте, пожалуйста, до конца эту программу. Буду очень благодарен.
int c=0,counter=0; while((a=getchar())!='.') { if(a=='d' && c==0) { counter++; c=1; } else if(a==',') c=0; }
Решение задачи: «Определить слова, которые содержат хотя бы одну букву d»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main () { char s[80],word[80]; int i,d,len; puts ("Input the string"); gets (s); char *p = strtok (s,","); while (p) { strcpy (word, p); len = strlen (word); d=0; for (i=0; i<len; i++) if (word[i]=='d') { puts (word); break; } p = strtok (NULL,","); } getchar (); return 0; }
Объяснение кода листинга программы
В этом коде используется функция strtok для разделения входной строки на слова. Каждое слово сохраняется в массиве word, а его длина сохраняется в переменной len. Затем для каждого слова выполняется проверка на наличие буквы 'd' с помощью цикла for и индекса i. Если буква 'd' найдена, то слово выводится на экран и цикл прерывается с помощью оператора break. Функция getchar в конце программы используется для обработки символа новой строки, который обычно остается во входном потоке после выполнения операции gets.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д