如何用C语言编写一个计算阶乘的长尾函数?

2026-04-18 19:412阅读0评论SEO资源
  • 内容介绍
  • 相关推荐

本文共计502个文字,预计阅读时间需要3分钟。

如何用C语言编写一个计算阶乘的长尾函数?

C语言实现阶乘的方法如下:

c#include

如何用C语言编写一个计算阶乘的长尾函数?

// 函数声明unsigned long long factorial(int n);

int main() { int number; printf(请输入一个数:); scanf(%d, &number); printf(%d的阶乘是:%llu\n, number, factorial(number)); return 0;}

// 函数定义unsigned long long factorial(int n) { if (n <=1) { return 1; } else { return n * factorial(n - 1); }}

c语言实现阶乘的方法

从键盘输入一个数,求出这个数的阶乘,即 n!。

算法思想

首先要清楚阶乘定义,所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n!

具体的操作:利用循环解决问题,设循环变量为 i,初值为 1,i 从 1 变化到 n;依次让 i 与 sum 相乘,并将乘积赋给 sum。

① 定义变量 sum,并赋初值 1。

② i 自增 1。

③ 直到 i 超过 n。

程序代码

#include <stdio.h> int main() { int i,n; double sum=1; scanf("%d",&n); for(i=1;i<=n;i++) sum=sum*i; printf("%d!=%lf",n,sum); printf("\n"); return 0; }

调试运行结果

输入 5,对应的阶乘输出情况如下所示;

5 5!=120.000000

输入20,对应的阶乘输出情况如下所示:

20 20!=2432902008176640000.000000

总结

① 由于阶乘一般较大,会超出整型甚至是长整型所能表示的范围,因此定义变量时就不能定义为整型,而应该考虑双精度数。

② 实训中定义了一个双精度型的变量,用来存放结果。因此在输出时应注意双精度数的输出格式。

推荐教程:c语言教程

以上就是c语言实现阶乘的方法的详细内容,更多请关注自由互联其它相关文章!

本文共计502个文字,预计阅读时间需要3分钟。

如何用C语言编写一个计算阶乘的长尾函数?

C语言实现阶乘的方法如下:

c#include

如何用C语言编写一个计算阶乘的长尾函数?

// 函数声明unsigned long long factorial(int n);

int main() { int number; printf(请输入一个数:); scanf(%d, &number); printf(%d的阶乘是:%llu\n, number, factorial(number)); return 0;}

// 函数定义unsigned long long factorial(int n) { if (n <=1) { return 1; } else { return n * factorial(n - 1); }}

c语言实现阶乘的方法

从键盘输入一个数,求出这个数的阶乘,即 n!。

算法思想

首先要清楚阶乘定义,所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n!

具体的操作:利用循环解决问题,设循环变量为 i,初值为 1,i 从 1 变化到 n;依次让 i 与 sum 相乘,并将乘积赋给 sum。

① 定义变量 sum,并赋初值 1。

② i 自增 1。

③ 直到 i 超过 n。

程序代码

#include <stdio.h> int main() { int i,n; double sum=1; scanf("%d",&n); for(i=1;i<=n;i++) sum=sum*i; printf("%d!=%lf",n,sum); printf("\n"); return 0; }

调试运行结果

输入 5,对应的阶乘输出情况如下所示;

5 5!=120.000000

输入20,对应的阶乘输出情况如下所示:

20 20!=2432902008176640000.000000

总结

① 由于阶乘一般较大,会超出整型甚至是长整型所能表示的范围,因此定义变量时就不能定义为整型,而应该考虑双精度数。

② 实训中定义了一个双精度型的变量,用来存放结果。因此在输出时应注意双精度数的输出格式。

推荐教程:c语言教程

以上就是c语言实现阶乘的方法的详细内容,更多请关注自由互联其它相关文章!