Распечатать число, которое получится после выписывания цифр числа 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, которая принимает целое число и возвращает обратное число, получая его путем перебора цифр исходного числа в обратном порядке. Алгоритм работы функции следующий:

  1. Входное число делится на 10, чтобы получить последнюю цифру.
  2. Последняя цифра добавляется к переменной rev, умноженной на 10.
  3. Шаг 1 и 2 повторяются до тех пор, пока исходное число не станет равным нулю.
  4. Функция возвращает полученное обратное число. В функции main организован цикл, который продолжается до тех пор, пока пользователь не введет некорректное значение или не отправит сигнал конца файла.
  5. Пользователю предлагается ввести целое число.
  6. Если пользователь ввел корректное число, функция revNum вызывается с этим числом в качестве аргумента, и результат выводится на экран.
  7. Если пользователь ввел некорректное число или отправил сигнал конца файла, цикл прерывается.
  8. Цикл повторяется с шага 1. В конце программы возвращается 0, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы