21xrx.com
2024-11-22 11:23:14 Friday
登录
文章检索 我的文章 写文章
如何用C语言计算一个数的阶乘
2023-06-19 01:14:34 深夜i     --     --
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;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复