21xrx.com
2024-09-20 05:55:17 Friday
登录
文章检索 我的文章 写文章
如何在C语言中计算阶乘
2023-06-16 10:32:51 深夜i     --     --
C语言 阶乘 循环 递归

阶乘是数学中的一个重要概念,用于描述一组正整数的乘积。在C语言中,我们可以使用循环或递归的方法来计算阶乘。循环方法比较简单,可以通过一个for循环实现。递归方法则需要定义一个递归函数,通过函数递归的方式计算阶乘。

下面是使用循环方法计算阶乘的C语言代码:


#include

int main() {

  int n, i;

  long long fact = 1;

  printf("请输入一个正整数:");

  scanf("%d", &n);

  // 计算阶乘

  for(i=1; i<=n; ++i) {

    fact *= i;

  }

  printf("%d! = %lld\n", n, fact);

  return 0;

}

这段代码首先通过scanf函数获取用户输入的正整数n,然后通过一个for循环计算n的阶乘。循环从1到n遍历,将每个数乘以已经计算出的阶乘结果。最后输出n的阶乘结果fact。

下面是使用递归方法计算阶乘的C语言代码:


#include

long long factorial(int n) {

  if(n == 1)

    return 1;

  

  return n * factorial(n-1);

}

int main() {

  int n;

  long long fact;

  printf("请输入一个正整数:");

  scanf("%d", &n);

  // 调用递归函数计算阶乘

  fact = factorial(n);

  printf("%d! = %lld\n", n, fact);

  return 0;

}

这段代码定义了一个递归函数factorial,通过递归的方式计算阶乘。当n为1时,递归函数返回1,否则返回n乘以factorial(n-1)的结果。在main函数中,首先获取用户输入的正整数n,然后调用递归函数计算n的阶乘,最后输出结果。

  
  

评论区

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