Напечатать все слова, отличные от слова hello - C (СИ)
Формулировка задачи:
Дана последовательность из 50 слов, каждое слово из 5 букв. Требуется напечатать все слова, отличные от слова hello.
Решение задачи: «Напечатать все слова, отличные от слова hello»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
int main() {
char CDelim[] = "\t\n ,.:?!";
char text[] = "hello, hello, hello, how low?";
char* p;
p = strtok(text, CDelim);
while (p != NULL) {
if (strcmp(p, "hello") != 0) {
printf("%s\n", p);
}
p = strtok(NULL, CDelim);
}
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с памятью и строками.
- Объявление переменных:
CDelim- строка-разделитель, содержит символы, которые разделяют слова в строкеtext.text- строка, в которой нужно найти слова, не равныеhello.p- указатель на первый символ в текущем слове.
- Инициализация указателя
pна первый символ в строкеtext. - В цикле
whileпроисходит поиск слов, не равныхhello:- Если текущее слово не равно
hello, то оно выводится на экран. - Указатель
pпереводится на следующий символ в строкеtext.
- Если текущее слово не равно
- После окончания цикла
whileпрограмма завершается.