Для каждого числа исходной последовательности удалить из записи числа все цифры, большие 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
- После обработки каждого элемента массива, счетчики цифр и итераций сбрасываются в ноль
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д