Вывести на экран кратные числа вводимого числа - C (СИ)
Формулировка задачи:
Приветствую, недавно начал изучать Си и столкнулся с одной проблемой. Задачка состоит в том, чтобы вывести на экран нужные кратные числа вводимого числа. Я попробовал решить задачу с помощью for, но в конце получается бесконечный цикл, возможно я делаю что-то неправильно.
Приведу пример:
Введите число: 5
Сколько раз вывести кратные числа?: 3
Ответ: 10 15 20
Введите число: 7
Сколько раз вывести кратные числа?: 6
Ответ: 14 21 28 35 42 49
И так далее в этом духе. Спасибо
Решение задачи: «Вывести на экран кратные числа вводимого числа»
textual
Листинг программы
#include <stdio.h> void func(unsigned n, unsigned c) { if ( c > 1 ) func(n, c - 1); printf("%u\n", n * (c + 1)); } int main(void) { unsigned number, count; while ( printf("Number: ") && scanf("%u", &number) == 1 && printf("Count: ") && scanf("%u", &count) == 1 && count ) func(number, count); return 0; }
Объяснение кода листинга программы
В этом коде определена функция с именем func, которая рекурсивно выводит на экран все числа, кратные введенному числу. В функции main программа запрашивает у пользователя ввод двух чисел — number (введите число) и count (введите количество), затем вызывает функцию func с этими числами в качестве аргументов. Пока пользователь не введет число и не нажмет кнопку «Ввод», программа будет продолжать запрашивать ввод числа и количества. Когда пользователь вводит число и количество, программа вызывает функцию func с этими числами в качестве аргументов. Функция func рекурсивно выводит все числа, кратные введенному числу. Рекурсивная функция func работает следующим образом:
- Если значение переменной count больше 1, функция вызывает саму себя с аргументами n и c-1.
- Функция выводит на экран число n, умноженное на (c+1). Программа продолжает запрашивать ввод числа и количества от пользователя и вызывать функцию func до тех пор, пока пользователь не введет ноль для количества. В итоге программа выведет все числа, кратные введенному числу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д