21xrx.com
2025-03-25 07:23:25 Tuesday
文章检索 我的文章 写文章
C语言中如何求阶乘
2023-06-16 10:51:13 深夜i     11     0
C语言 循环 阶乘

阶乘是数学中经常用到的一个概念,指从1乘到一个正整数n的连乘积,通常表示为n!。在C语言中,求阶乘可以通过循环或递归的方式来实现。下面将分别介绍这两种方法的实现过程。

一、循环求阶乘

循环求阶乘的思路比较简单,只需要用一个循环从1到n逐个乘起来即可。具体代码如下:

#include 
int main()
{
  int i,n,f=1;
  printf("请输入一个正整数n:");
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    f*=i;
  }
  printf("%d!=%d\n",n,f);
  return 0;
}

上述代码中,使用for循环从1开始乘到n,每次将得到的积累加到f中,最终输出n的阶乘结果即可。

二、递归求阶乘

递归求阶乘的思路是将问题分解为更小的同类问题,并通过函数不断调用自身来解决。具体代码如下:

#include 
int factorial(int n)
{
  if(n==1)
    return 1;
  else
    return n*factorial(n-1);
}
int main()
{
  int n;
  printf("请输入一个正整数n:");
  scanf("%d",&n);
  printf("%d!=%d\n",n,factorial(n));
  return 0;
}

上述代码中,定义了一个名为factorial的递归函数,每次调用时会先判断n是否等于1,若是则返回1,否则继续调用自身,直到n等于1时结束递归。关键词:C语言、递归、阶乘。

综上所述,C语言中求阶乘可以采用循环或递归的方式实现,具体方法可根据实际情况选择使用。

  
  

评论区