Чтение из файла. Поиск палиндрома - C (СИ)

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

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

Здравствуйте, столкнулся с проблемой в цикле. 2 раза выводится на экран последнее сообщение.
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3. int check (char str[])
  4. {
  5. int i,length;
  6. length=strlen(str);
  7. if (length==1) return 0;
  8. for (i=0;i<length;i++)
  9. if (str[i]!=str[(length-1)-i]) return 0;
  10. return 1;
  11. }
  12. int main()
  13. {
  14. char str[80];
  15. FILE *file;
  16. if ((file=fopen("test.txt","r"))==NULL)
  17. {
  18. puts("File not found!");
  19. return 1;
  20. }
  21. while(!feof(file))
  22. {
  23. fscanf(file, "%s", str);
  24. if (check(str)==1)
  25. printf (" \n Slovo: %s Palindrome \n", str);
  26. else
  27. printf("\n SLOVO: %s Not palindrome \n",str);
  28. }
  29. return 0;
  30. }

Решение задачи: «Чтение из файла. Поиск палиндрома»

textual
Листинг программы
  1.     while(fscanf(file, "%s", str) == 1)
  2.     {
  3.         //fscanf(file, "%s", str);
  4.         if (check(str)==1)
  5.             printf (" \n Slovo: %s Palindrome \n", str);
  6.         else
  7.             printf("\n SLOVO: %s Not palindrome \n",str);
  8.  
  9.     }

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

  1. В цикле while происходит чтение из файла с помощью функции fscanf. В качестве параметра функции указывается файл, а в качестве формата – строка %s, которая означает, что будет прочитана строка (без пробелов). Переменная str предназначена для хранения прочитанной строки.
  2. Если проверка на палиндром (функция check) возвращает 1, то выводится сообщение о том, что слово является палиндромом.
  3. Если проверка на палиндром (функция check) возвращает 0, то выводится сообщение о том, что слово не является палиндромом.

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


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

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

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы