Определить, является ли введенное число палиндромом - C (СИ)
Формулировка задачи:
Задача: определить, является ли введенное число палиндромом. Подскажите алгоритм, что-то я никак не разберусь.
Решение задачи: «Определить, является ли введенное число палиндромом»
textual
Листинг программы
{ int test, s, pal; printf("\nVvedite chislo: "); scanf("%d", &test); if (test<0) test=-test; s=test; pal=0; while (test) { pal=pal*10+test%10; test/=10; } if (pal==s) printf("\nchislo %d eto palindrom!\n",s); }
Объяснение кода листинга программы
- Объявлены три переменные: test, s, pal.
- Выводится сообщение
Vvedite chislo:
и считывается число в переменную test с помощью функции scanf. - Если число в переменной test отрицательное, то оно преобразуется в положительное с помощью операции
-test
. - Переменная s инициализируется значением переменной test.
- Переменная pal инициализируется нулем.
- В цикле while считываются цифры числа переменной test, начиная с последней.
- Полученное число (последняя цифра числа) добавляется в переменную pal.
- Число test делится на десять.
- Цикл повторяется до тех пор, пока число test больше нуля.
- После окончания цикла проверяется равенство переменных s и pal.
- Если равенство выполняется, то выводится сообщение
chislo %d eto palindrom!
, где %d - значение переменной s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д