Вывести рекурсию числа и сравнить первую и последнюю цифру - C (СИ)
Формулировка задачи:
рекурсию числа сделал, но когда пытаюсь сравнить нужные цифры введенного числа, при вводе двузначного (напр. 44) выводит zbc, но если ввести трёхзначное число - ничего не выводит.
#include <stdio.h> #include <stdlib.h> int main () { int num,final = 0; printf("vvedite cslo"); scanf_s("%d",&num); while(num>0) { final= (final*10) + num%10; num/=10; if (num%10 == final%10 ) printf("\tzbc\n"); } printf("revers %d\n",final); return 0; }
забыл сказать, ещё нужно найти число десятков в числе, но эт я не знаю как сделать.
Решение задачи: «Вывести рекурсию числа и сравнить первую и последнюю цифру»
textual
Листинг программы
... int main () { int num, n, final = 0; printf("vvedite cslo"); scanf_s("%d",&num); n = num; while(n>0) { final= (final*10) + n%10; n/=10; } if (num%10 == final%10 ) { printf("\tzbc\n"); } printf("revers %d\n",final); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены три переменные: num, n и final.
- С помощью функции scanf_s считывается число (вводится пользователем).
- Это число сохраняется в переменной num.
- Затем, с помощью цикла while, число разбивается на отдельные цифры, которые сохраняются в переменной final (в виде десятичной суммы).
- В конце цикла проверяется, равна ли последняя цифра введенного числа последней цифре в переменной final.
- Если это так, то выводится сообщение
zbc
. - Затем выводится перевернутое число в переменной final.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д