Вычислить факториал введённого числа - C (СИ)
Формулировка задачи:
Подскажите пожалуйста как написать программу, которая вычислила бы факториал введённого числа)
Решение задачи: «Вычислить факториал введённого числа»
textual
Листинг программы
#include <stdio.h> unsigned long long f(unsigned n) { return ( n > 1 ) ? n * f(n - 1) : 1; } int main(void) { unsigned n; while ( printf("N = ") && scanf("%u", &n) == 1 ) printf("N! = %llu\n", f(n)); return 0; }
Объяснение кода листинга программы
В этом коде:
- Сначала подключается стандартная библиотека C, которая содержит функции для ввода и вывода данных.
- Затем определена функция с именем
f
, которая принимает целочисленный аргументn
. - Внутри функции
f
используется тернарный оператор для определения базового случая: еслиn
больше 1, то происходит рекурсивный вызов функцииf
с аргументомn-1
, умноженным наn
. Еслиn
равно 1, то возвращается 1. - В функции main создается переменная
n
типаunsigned
для хранения введенного числа. - Затем в цикле while происходит запрос на ввод числа с помощью функции
scanf
и вывод его факториала с помощью функцииprintf
. Цикл продолжается, пока пользователь не введет ноль. - Наконец, функция
main
возвращает 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д