使用for循环实现阶乘:
#include <stdio.h> int main() { int n, i, fact = 1; printf("请输入一个整数:\n"); scanf("%d", &n); for (i = 1; i <= n; i++) { fact *= i; } printf("%d的阶乘为:%d\n", n, fact); return 0; }
在这个示例代码中,我们首先从用户那里获取一个整数n,然后使用for循环从1到n逐一累乘,最后输出n的阶乘。
- 使用递归实现阶乘:
#include <stdio.h> int factorial(int n); int main() { int n; printf("请输入一个整数:\n"); scanf("%d", &n); printf("%d的阶乘为:%d\n", n, factorial(n)); return 0; } int factorial(int n) { if (n == 0 || n == 1) { return 1; } else { return n * factorial(n - 1); } }
在这个示例代码中,我们定义了一个名为factorial的函数,它使用递归来计算n的阶乘。如果n等于0或1,那么阶乘为1;否则,阶乘为n乘以n-1的阶乘。
无论是使用for循环还是递归,都可以很方便地实现阶乘的计算。需要注意的是,当n很大时,阶乘可能会超出int类型的范围,这时需要使用更大的数据类型,比如long long。
猜你喜欢:c语言文件结束符怎么输入,怎么用
评论