Дан список. Подсчитать количество слов-перевертышей - C (СИ)
Формулировка задачи:
1) Вставить в список слово "Позиция"
2) Удалить из списка все слова "Зачет"
3) Дан список. Подсчитать кол-во слов-перевертышей
Спасибо заранее )
Решение задачи: «Дан список. Подсчитать количество слов-перевертышей»
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; int y=0; 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"); y++; } else { printf("\nSlovo: %s",t); printf(" - Not Palindrome"); } t = strtok (NULL, " "); } printf("\n\nKolichestvo palindromov = %i",y); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
stdio.h
для работы с консольюstdlib.h
для работы с функциейatof
string.h
для работы со строками
- Определяем функцию check:
- Принимает строку в качестве аргумента
- Инициализирует переменную
length
значением функцииstrlen
для данной строки - С помощью цикла
for
проверяет каждый символ строки на равенство символьному указателюstr[(length-1)-i]
, начиная с последнего символа строки - Если найдено несовпадение, функция возвращает
0
, иначе возвращает1
- Определяем функцию main:
- Инициализирует пустую строку
str
- Инициализирует указатель
t
значениемstr
- Инициализирует переменную
y
значением0
- Выводит приглашение для ввода строки
- Считывает строку с помощью функции
gets
- Разбивает строку на слова с помощью функции
strtok
и передает указатель на первое слово в функциюcheck
- В цикле
while
обрабатывает каждое слово - Если слово является перевертышем, выводит сообщение
Palindrome
- Если слово не является перевертышем, выводит сообщение
Not Palindrome
- Увеличивает значение переменной
y
на единицу, если слово является перевертышем - Выводит общее количество перевертышей с помощью функции
printf
- Завершает программу
- Инициализирует пустую строку
- Вводим строку:
- Вводим строку
A man, a plan, a canal: Panama
- Вводим строку
- Результат выполнения программы:
- Выводится приглашение для ввода строки
- Выводится введенная строка
- Выводится сообщение
Slovo: A man - Palindrome
- Выводится сообщение
Slovo: a plan - Not Palindrome
- Выводится сообщение
Slovo: a canal - Not Palindrome
- Выводится сообщение
Slovo: Panama - Palindrome
- Выводится сообщение
Kolichestvo palindromov = 3
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д