Исправить код по нахождению слов-палиндромов - C (СИ)
Формулировка задачи:
Помогите исправить ошибки в задаче про проверку является ли слово оборотнем. Например maam - слово оборотень, mama - нет.
#include <stdio.h>
int main (void)
{
int flag, i, n;
char a[];
flag==1;
n==length(a);
printf ("Vvedite slovo: ");
scanf ("%s", &a[]);
while (flag == 1)
{
if (a[i]==a[n+1-i])
flag=1;
else
{
flag==0;
printf ("ne oboroten'");
}
++i;
}
if (flag == 1)
printf ("slovo oboroten'");
return 0;
}Решение задачи: «Исправить код по нахождению слов-палиндромов»
textual
Листинг программы
#include <string.h>
/* ReverseLine: обращает строку l */
void ReverseLine(char *l)
{
char *leftp, *rightp;
int c;
if (l == NULL)
return;
for (leftp = l, rightp = l+strlen(l)-1;
leftp < rightp;
leftp++, rightp--)
c = *leftp, *leftp = *rightp, *rightp = c;
}
/* CompareLine: сравнивает строки l и patt */
int CompareLine(const char *l, const char *patt)
{
if (strcmp(s, patt) != 0)
return 0;
return 1;
}
Объяснение кода листинга программы
Отсортированный список действий в коде:
- ReverseLine: функция переворачивает строку l.
- CompareLine: функция сравнивает строки l и patt.
- Если строки не равны, то возвращается 0.
- Если строки равны, то возвращается 1.