C语言教程-C语言中的阶乘程序
C语言教程-在C语言中,阶乘是所有正整数从大到小相乘的结果。n的阶乘用n!表示。例如:
- 5! = 5 4 3 2 1 = 120
- 3! = 3 2 1 = 6
这里,5!读作“5阶乘”,也称为“5阶”或“5叹号”。
阶乘通常用于组合和排列(数学)。
有许多方法可以在C语言中编写阶乘程序。让我们看看两种编写阶乘程序的方式:
- 使用循环编写阶乘程序
- 使用递归编写阶乘程序
使用循环编写阶乘程序
让我们看看使用循环编写阶乘程序的方法。
#include <stdio.h>
int main() {
int i, fact = 1, number;
printf("请输入一个数字:");
scanf("%d", &number);
for (i = 1; i <= number; i++) {
fact = fact * i;
}
printf("%d的阶乘是:%d", number, fact);
return 0;
}
输出:
请输入一个数字:5
5的阶乘是:120
使用递归在C语言中编写阶乘程序
让我们看看在C语言中使用递归编写阶乘程序的方法。
#include <stdio.h>
long factorial(int n) {
if (n == 0)
return 1;
else
return (n * factorial(n - 1));
}
int main() {
int number;
long fact;
printf("请输入一个数字:");
scanf("%d", &number);
fact = factorial(number);
printf("%d的阶乘是:%ld\n", number, fact);
return 0;
}
输出:
请输入一个数字:6
6的阶乘是:720