在C语言中,可以使用循环和递归两种方法来计算n的阶乘。
(图片来源网络,侵删)
1、使用循环的方法计算n的阶乘:
#include <stdio.h> int main() { int n, factorial = 1; printf("请输入一个整数n: "); scanf("%d", &n); for (int i = 1; i <= n; i++) { factorial *= i; } printf("%d的阶乘为: %d ", n, factorial); return 0; }
上述代码中,首先声明了一个变量factorial
用于存储阶乘的结果,初始值为1,然后通过循环从1到n进行迭代,每次迭代将当前迭代变量i的值与factorial
相乘,并将结果重新赋值给factorial
,最后输出n的阶乘结果。
2、使用递归的方法计算n的阶乘:
#include <stdio.h> int factorial(int n) { if (n == 0 || n == 1) { return 1; // 当n为0或1时,阶乘为1 } else { return n * factorial(n 1); // 递归调用,将n与(n1)的阶乘相乘 } } int main() { int n; printf("请输入一个整数n: "); scanf("%d", &n); printf("%d的阶乘为: %d ", n, factorial(n)); // 调用递归函数计算阶乘并输出结果 return 0; }
上述代码中,定义了一个名为factorial
的递归函数,用于计算n的阶乘,该函数接受一个参数n,如果n为0或1,则返回1;否则,将n与(n1)的阶乘相乘作为结果返回,在主函数中,用户输入一个整数n,然后调用factorial
函数计算n的阶乘,并将结果输出。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/428253.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复