Для каждого числа вывести новое число, которое получится после записи цифр числа в обратном порядке - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер ,помогите пожалуйста программу написать,я не могу понять даже с чего начать , думаю что через массив нужно, не могу реализовать : Вводится последовательность из N целых чисел.Для каждого числа последовательности вывести новое число, которое получится после записи цифр числа в обратном порядке(функцию оформить определение нового числа для заданного).

Решение задачи: «Для каждого числа вывести новое число, которое получится после записи цифр числа в обратном порядке»

textual
Листинг программы
  1. /*
  2.  ============================================================================
  3.  Name        : c_reverse_number.c
  4.  Author      : UranFlex
  5.  Version     : 0.1 alpha
  6.  Copyright   : UranFlex 2013
  7.  License     : GNU GPL
  8.  Description : Вводится последовательность из N целых чисел.Для каждого числа последовательности вывести новое число,
  9.  *             которое получится после записи цифр числа в обратном порядке.
  10.  *             Реализовать функцию, которая возвращает перевернутое число.
  11.  *             C, Ansi-style
  12.  ============================================================================
  13.  */
  14.  
  15. #include <stdio.h>
  16. #include <stdlib.h>
  17. #include <stdio_ext.h>
  18.  
  19. #define N 4 // количество вводимых значений
  20.  
  21. // функция переворачивает число, вверх ногами :-)
  22. int ReverseNumber( int value );
  23.  
  24. int main( void ) {
  25.     int arr[ N ]; // массив для хранения всех вводимых значений
  26.  
  27.     printf( "%s %d\n", "Введите целочисленные значения в количестве", N ); // запрашиваем у пользователя данные значения
  28.  
  29.     // считываем их в цикле
  30.     size_t i;
  31.     for ( i = 0; i < N; ++i )
  32.         scanf( "%d", &arr[ i ] );
  33.  
  34.     __fpurge( stdin ); // очищаем stdin на всякий случай
  35.  
  36.     // в цикле переворачиваем каждое введеное значение и переворачиваем его
  37.     for ( i = 0; i < N; ++i )
  38.         printf( "%d ", ReverseNumber( arr[ i ] ) );
  39.  
  40.     puts( "" );
  41.  
  42.     return EXIT_SUCCESS;
  43. }
  44.  
  45. int ReverseNumber( int value ) {
  46.     int result = 0;
  47.  
  48.     while ( value ) {
  49.         result = result * 10 + value % 10;
  50.         value /= 10;
  51.     }
  52.  
  53.     return result;
  54. }

Объяснение кода листинга программы

  1. Объединение всех введенных чисел в массив arr[].
  2. Запрос у пользователя ввода N целых чисел.
  3. Считывание N целых чисел в массив arr[] с помощью функции scanf().
  4. Очистка входного потока данных (stdin) с помощью функции __fpurge().
  5. Вызов функции ReverseNumber() для каждого числа в массиве arr[], запись результата в stdout.
  6. Возвращение функцией main() значения EXIT_SUCCESS.
  7. Внутри функции ReverseNumber() инициализация переменной result значением 0.
  8. В цикле while считывается каждая цифра числа, начиная с самой правой, и добавляется в конец результата.
  9. Каждое число делится на 10, чтобы получить следующую цифру.
  10. Возвращение функцией ReverseNumber() перевернутого числа.

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


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

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

14   голосов , оценка 4.071 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы