Распечатать числа в диапазоне от 1 до N, у которых произведение первой и второй цифры справа равны числу M - C (СИ)
Формулировка задачи:
Решаются две задачи: первая по Вашему варианту, вторая со сдвигом 8. Решение двух задач реализовать в одной программе. В диалоговом режиме вводится некоторое число N (В диапазоне от 1 до 2000). Программа должна вывести числа, определенные заданием в виде нескольких колонок, выровненных по правому краю. Все числа от 1 до N натуральные.
Примечание: первая задача реализуется на основе оператора "for", а вторая – оператора "while". Комментарии в программе обязательны.
.
1) Распечатать числа в диапазоне от 1 до N, у которых произведение первой и второй цифры справа равны числу M.
завтра экзамен нужна эта программапомогите пожалуйста
Решение задачи: «Распечатать числа в диапазоне от 1 до N, у которых произведение первой и второй цифры справа равны числу M»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <wchar.h> #include <locale.h> int main(int argc, char *argv[]) { setlocale(LC_ALL, "ru_RU.UTF-8"); int size; int num; fwprintf(stdout, L"Введите размер массива натуральных чисел: "); fwscanf(stdin, L"%d", &size); fwprintf(stdout, L"Введите число: "); fwscanf(stdin, L"%d", &num); unsigned int array[size]; unsigned int i; for(i = 0; i < size; ++i) { array[i] = i + 1; } int n1, n2; unsigned int j; for(i = 9, j = 1; i < size; ++i) { n1 = array[i] % 10; // первая цифра справа n2 = (array[i] / 10) % 10; // вторая цифра справа if(num == (n1 * n2)) { if(j % 5) { // печать в 5 столбиков fwprintf(stdout, L"%6d", array[i]); } else { fwprintf(stdout, L"%6d\n", array[i]); } ++j; } } if(--j % 5) fwprintf(stdout, L"\n"); return EXIT_SUCCESS; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и вводом/выводом данных
- Установка локали на русский язык
- Ввод размера массива натуральных чисел и числа M
- Создание массива натуральных чисел размером введенным пользователем
- Заполнение массива натуральными числами от 1 до N
- Поиск чисел в массиве, у которых произведение первой и второй цифры справа равно числу M
- Печать найденных чисел в 5 столбиков на каждой итерации
- Печать разрыва в виде символа новой строки после каждого пятого числа
- Возвращение успешного завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д