Вывести на экран слова из этой строки, которые одинаково читаются слева направо и справа налево (палиндромы) - C (СИ)
Формулировка задачи:
Составить программу, которая вводит с клавиатуры строку, содержащую до 80 символов, и выводит на экран слова из этой строки, которые одинаково читаются слева направо и справа налево (палиндромы). В случае отсутствия таких слов выводится соответствующее сообщение.
Решение задачи: «Вывести на экран слова из этой строки, которые одинаково читаются слева направо и справа налево (палиндромы)»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int check (char str[])
- {
- int i,length;
- length=strlen(str);
- for (i=0;i<length;i++)
- if (str[i]!=str[(length-1)-i]) return 0;
- return 1;
- }
- int main(void)
- {
- char str[80];
- char* t;
- printf("\n");
- printf("\nVvedite stroku:\n");
- gets(str);
- t=strtok(str," ");
- printf("\n");
- while (t != NULL) {
- if (check(t)==1) {
- printf("\nSlovo: %s",t);
- printf(" - Palindrome");
- }
- else {
- printf("\nSlovo: %s",t); printf(" - Not Palindrome");
- }
- t = strtok (NULL, " ");
- }
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками и памятью.
- Определение функции проверки палиндрома с помощью цикла, сравнивая символы строки от начала и конца.
- Ввод строки с помощью функции gets.
- Разделение строки на слова с помощью функции strtok и сохранение первого слова в отдельной переменной.
- Проверка каждого слова на палиндром с помощью функции check и вывод результата на экран.
- Повторение цикла, пока не будут проверены все слова.
- Возврат 0 в конце программы для корректного завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д