Для каждого числа вывести новое число, которое получится после записи цифр числа в обратном порядке - C (СИ)
Формулировка задачи:
Добрый вечер ,помогите пожалуйста программу написать,я не могу понять даже с чего начать , думаю что через массив нужно, не могу реализовать : Вводится последовательность из N целых чисел.Для каждого числа последовательности вывести новое число, которое получится после записи цифр числа в обратном порядке(функцию оформить определение нового числа для заданного).
Решение задачи: «Для каждого числа вывести новое число, которое получится после записи цифр числа в обратном порядке»
textual
Листинг программы
/* ============================================================================ Name : c_reverse_number.c Author : UranFlex Version : 0.1 alpha Copyright : UranFlex 2013 License : GNU GPL Description : Вводится последовательность из N целых чисел.Для каждого числа последовательности вывести новое число, * которое получится после записи цифр числа в обратном порядке. * Реализовать функцию, которая возвращает перевернутое число. * C, Ansi-style ============================================================================ */ #include <stdio.h> #include <stdlib.h> #include <stdio_ext.h> #define N 4 // количество вводимых значений // функция переворачивает число, вверх ногами :-) int ReverseNumber( int value ); int main( void ) { int arr[ N ]; // массив для хранения всех вводимых значений printf( "%s %d\n", "Введите целочисленные значения в количестве", N ); // запрашиваем у пользователя данные значения // считываем их в цикле size_t i; for ( i = 0; i < N; ++i ) scanf( "%d", &arr[ i ] ); __fpurge( stdin ); // очищаем stdin на всякий случай // в цикле переворачиваем каждое введеное значение и переворачиваем его for ( i = 0; i < N; ++i ) printf( "%d ", ReverseNumber( arr[ i ] ) ); puts( "" ); return EXIT_SUCCESS; } int ReverseNumber( int value ) { int result = 0; while ( value ) { result = result * 10 + value % 10; value /= 10; } return result; }
Объяснение кода листинга программы
- Объединение всех введенных чисел в массив arr[].
- Запрос у пользователя ввода N целых чисел.
- Считывание N целых чисел в массив arr[] с помощью функции scanf().
- Очистка входного потока данных (stdin) с помощью функции __fpurge().
- Вызов функции ReverseNumber() для каждого числа в массиве arr[], запись результата в stdout.
- Возвращение функцией main() значения EXIT_SUCCESS.
- Внутри функции ReverseNumber() инициализация переменной result значением 0.
- В цикле while считывается каждая цифра числа, начиная с самой правой, и добавляется в конец результата.
- Каждое число делится на 10, чтобы получить следующую цифру.
- Возвращение функцией ReverseNumber() перевернутого числа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д