求阶乘的c语言代码

c
#include <stdio.h> // 函数声明:计算阶乘 unsigned long long factorial(int n); int main() { int num; printf("请输入一个非负整数:"); scanf("%d", &num); if (num < 0) { printf("输入无效,阶乘只能计算非负整数。\n"); } else { unsigned long long result = factorial(num); printf("%d 的阶乘是 %llu\n", num, result); } return 0; } // 函数定义:计算阶乘 unsigned long long factorial(int n) { if (n == 0 || n == 1) { return 1; } else { return n * factorial(n - 1); } }

此代码包含一个用于计算阶乘的递归函数factorial,以及一个主函数,用于获取用户输入并显示计算结果。用户输入一个非负整数,程序将计算该整数的阶乘并显示结果。

c
#include <stdio.h> // 函数声明:计算阶乘 unsigned long long factorial(int n); int main() { int num; printf("请输入一个非负整数:"); scanf("%d", &num); if (num < 0) { printf("输入无效,阶乘只能计算非负整数。\n"); } else { unsigned long long result = factorial(num); printf("%d 的阶乘是 %llu\n", num, result); } return 0; } // 函数定义:计算阶乘 unsigned long long factorial(int n) { if (n == 0 || n == 1) { return 1; } else { return n * factorial(n - 1); } }

使用此程序,您可以输入一个非负整数,然后它将计算并显示该整数的阶乘。如果输入无效,它会显示错误消息。示例输出如下:

请输入一个非负整数:5 5 的阶乘是 120

这个程序使用了递归来计算阶乘,但对于非常大的输入值,可能会导致堆栈溢出。在实际应用中,您可能需要考虑使用循环或其他更高效的算法来计算大数的阶乘。

标签