21xrx.com
2025-04-15 21:00:02 Tuesday
文章检索 我的文章 写文章
如何用C语言计算一个数的阶乘
2023-06-19 01:14:34 深夜i     61     0
C语言 阶乘 循环 递归

阶乘是指从1到该数之间所有整数的乘积。例如,5的阶乘是1×2×3×4×5=120。在C语言中,可以使用循环或递归两种方法来计算一个数的阶乘。

1. 循环方法

循环方法是用一个循环来计算阶乘。先定义一个变量来存储计算结果,并将其初始化为1。然后使用for循环从1到该数之间遍历每个数,并将其乘以计算结果的值。最后返回计算结果。

以下是一个示例代码:

#include 
int main()
{
  int num, i, fact=1;
  printf("请输入一个整数:");
  scanf("%d", &num);
  for (i=1; i<=num; i++)
  {
    fact *= i;
  }
  printf("%d的阶乘是%d\n", num, fact);
  return 0;
}

2. 递归方法

递归方法是指一个函数调用自身的方法来计算阶乘。这个函数需要检查基本情况,如果将要计算阶乘的数是1或0,那么返回1。否则,将计算结果递归地传递给下一个函数调用,直到到达基本情况,然后返回计算结果。

以下是一个示例代码:

#include 
int fact(int num)
{
  if (num == 0 || num == 1)
  
    return 1;
  
  else
  {
    return num * fact(num - 1);
  }
}
int main()
{
  int num;
  printf("请输入一个整数:");
  scanf("%d", &num);
  printf("%d的阶乘是%d\n", num, fact(num));
  return 0;
}

  
  

评论区

请求出错了