holyya.com
2025-09-04 23:54:01 Thursday
登录
文章检索 我的文章 写文章
C语言中如何求阶乘
2023-06-16 10:51:13 深夜i     --     --
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语言中求阶乘可以采用循环或递归的方式实现,具体方法可根据实际情况选择使用。

  
  

评论区

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