在C语言中,你可以使用递归函数来实现阶乘
#include// 递归函数实现阶乘 unsigned long long factorial(unsigned int n) { if (n == 0) { return 1; // 0的阶乘为1 } else { return n * factorial(n - 1); // 递归调用,n的阶乘等于n乘以(n-1)的阶乘 } } int main() { unsigned int number; printf("请输入一个非负整数: "); scanf("\u", &number); // 检查输入是否为非负整数 if (number < 0) { printf("输入错误,请输入一个非负整数。\n"); } else { unsigned long long result = factorial(number); printf("\u的阶乘为: %llu\n", number, result); } return 0; }
这个程序首先定义了一个名为factorial
的递归函数,该函数接受一个无符号整数n
作为参数。如果n
为0,函数返回1,因为0的阶乘为1。否则,函数返回n
乘以factorial(n - 1)
的结果,这是递归调用的关键部分。
在main
函数中,我们从用户那里获取一个非负整数,然后调用factorial
函数计算其阶乘,并将结果输出到屏幕上。