Определить, входит ли заданное слово в строку - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задача состоит из 3 пунктов меню. Я для 2-ух первых написал, а вот для 3 не могу. В нём нужно сделать следующее: определить, входит ли заданное слово в строку (вроде нужно использовать strtok)

Решение задачи: «Определить, входит ли заданное слово в строку»

textual
Листинг программы
#include <string.h>
#include <stdio.h>
#define BLANK_STRING ""
void main(void){
char *token, buf[81],*separators = "\t,. ";
int i;
puts("Вводите строки\n\
          Завершение - нажатие ENTER.\n");
while(strcmp(gets(buf),BLANK_STRING)!=0) {
 i = 0;
 token = strtok(buf, separators);
 while(token != NULL) {
  printf("Лексема %d - %s\n", i, token); //!!!
  token = strtok(NULL, separators);
  i++;
 }
}}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы со строками и вводом/выводом.
  2. Объявление переменных:
    • buf - буфер для ввода строки;
    • separators - строка-разделитель;
    • i - счётчик лексем;
    • token - текущая лексема.
  3. Вывод приглашения для ввода строк.
  4. Ввод строки и проверка на пустоту (завершение ввода - нажатие ENTER).
  5. Пока строка не пустая, то разделение её на лексемы с помощью функции strtok.
  6. Вывод каждой лексемы с помощью функции printf.
  7. После вывода каждой лексемы, следующее значение token становится NULL, что означает конец списка лексем.
  8. После каждой итерации счётчик i увеличивается на 1.
  9. После окончания ввода строки, программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы