Вывести рекурсию числа и сравнить первую и последнюю цифру - 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.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д