Распечатать число, которое получится после выписывания цифр числа n в обратном порядке - C (СИ)
Формулировка задачи:
Помогите плиз)))
Дано натуральное число п.
Распечатать число, которое получится после выписывания цифр числа n в обратном порядке.
(Для получения нового числа составить функцию.)
саму задачу решил..-->
А вот функцию не могу
вот мой вариант,но он не хочет работать((
Что не так подскажите??
#include<stdio.h> #include<math.h> int main() { int n,j,i; printf("Vvedite chislo n="); scanf("%d",&n); while(n!=0) { j=n/10; i=n-j*10; n=n/10; printf("%d",i); } }
#include<stdio.h> #include<math.h> int zifra(int n) { int j,i; while(n!=0) { j=n/10; i=n-j*10; n=n/10; } return i; } int main() { int A; scanf("%d",&A); printf("%d--%d",A,zifra(A)); }
Решение задачи: «Распечатать число, которое получится после выписывания цифр числа n в обратном порядке»
textual
Листинг программы
#include <stdio.h> int revNum(int num){ int rev = 0; while ( num ){ rev = 10 * rev + num % 10; num /= 10; } return rev; } int main(void){ int num; while ( 1 ){ printf("Number: "); if ( scanf("%d", &num) != 1 || !num ) break; printf("Reverse: %d\n", revNum(num)); } return 0; }
Объяснение кода листинга программы
В данном коде реализована функция revNum
, которая принимает целое число и возвращает обратное число, получая его путем перебора цифр исходного числа в обратном порядке.
Алгоритм работы функции следующий:
- Входное число делится на 10, чтобы получить последнюю цифру.
- Последняя цифра добавляется к переменной
rev
, умноженной на 10. - Шаг 1 и 2 повторяются до тех пор, пока исходное число не станет равным нулю.
- Функция возвращает полученное обратное число.
В функции
main
организован цикл, который продолжается до тех пор, пока пользователь не введет некорректное значение или не отправит сигнал конца файла. - Пользователю предлагается ввести целое число.
- Если пользователь ввел корректное число, функция
revNum
вызывается с этим числом в качестве аргумента, и результат выводится на экран. - Если пользователь ввел некорректное число или отправил сигнал конца файла, цикл прерывается.
- Цикл повторяется с шага 1. В конце программы возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д