Для каждого числа исходной последовательности удалить из записи числа все цифры, большие 5 - C (СИ)
Формулировка задачи:
Написать программу.
Дана последовательность из n натуральных чисел.
Для каждого числа исходной последовательности удалить из записи числа все цифры, большие 5, и подсчитать количество цифр в записи числа.
Сформировать новую последовательность, поместив в неё для каждого исходного числа два значения - преобразованное число и количество цифр в записи числа. Упорядочить новую последовательность попарно по возрастанию чисел. Вывести исходную и полученную последовательности на экран.
В программе использовать функцию, которая удаляет из записи числа все цифры, большие 5, и возвращает количество цифр в записи числа
Решение задачи: «Для каждого числа исходной последовательности удалить из записи числа все цифры, большие 5»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <limits.h>
- const int N = 10;
- int power(int x, int n)
- {
- int i, z = 1;
- for(i = 0; i < n; ++i)
- z *= x;
- return z;
- }
- int main()
- {
- int arr[N];
- int i, b, x, k, y, m = 0, n = 0;
- for(i = 0; i < N; ++i){
- arr[i] = rand() % INT_MAX;
- printf("%d\t", arr[i]);
- b = arr[i];
- while(b > 0){
- x = b % 10;
- b = b / 10;
- ++n;
- }
- b = arr[i];
- k = n - 1;
- while(b > 0){
- y = b / power(10, k);
- b = b - y * power(10, k);
- --k;
- if(y <= 5){
- printf("%d", y);
- ++m;
- }
- }
- printf("\t%d\n", m);
- n = 0;
- m = 0;
- }
- return 0;
- }
Объяснение кода листинга программы
В этом коде выполняются следующие действия:
- Включаются необходимые заголовочные файлы
- Задаются значения констант
- Определяется функция для возведения числа в степень
- В функции main() создается массив и инициализируется случайными числами
- Выполняется цикл по элементам массива
- Для каждого элемента выполняется следующее действие:
- Число делится на цифры, начиная с самой большой
- Цифры, большие 5, удаляются из числа
- Выводится количество цифр, меньших или равных 5
- После обработки каждого элемента массива, счетчики цифр и итераций сбрасываются в ноль
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д