Написать программу макроса вычисления факториала числа n - C (СИ)
Формулировка задачи:
Помогите пожалуйста с задачкой,нужен код.
Написать программу макроса вычисления факториала числа n.
Решение задачи: «Написать программу макроса вычисления факториала числа n»
textual
Листинг программы
#include <stdio.h> #define factorial(n) if (n > 0) { int i = 1, nfact = 1; for(; i < n; i++, nfact *=i) ; printf("%d",nfact);}else printf("0"); int main() { factorial(4); return 0; }
Объяснение кода листинга программы
- Включаем файл стандартного ввода/вывода
- Определяем макрос factorial для вычисления факториала числа n
- Условие if (n > 0) - проверка на положительность числа n
- Создаем переменные i и nfact типа int, и присваиваем им значения 1 и 1 соответственно
- Задаем начальное значение переменной i равное 1, и устанавливаем условие для цикла for (i < n)
- Внутри цикла увеличиваем значение переменной i на 1 и умножаем nfact на i
- Повторяем шаги 5-6 до тех пор, пока значение переменной i меньше значения переменной n
- После окончания цикла выводим значение переменной nfact с помощью функции printf, передавая ей значение nfact и форматный спецификатор
%d
для вывода целых чисел - Если число n меньше или равно 0, то выводим 0 с помощью функции printf
- В функции main() вызываем макрос factorial с аргументом 4
- Возвращаем 0 из функции main(), что означает успешный конец работы программы