C 语言程序求一个数的阶乘


2022年5月2日, Learn eTutorial
1230

为了更好地理解,我们始终建议您学习下面列出的C语言编程基础主题

在这个 C 语言程序中,我们需要求给定数的阶乘。所以首先,我们需要了解什么是阶乘。

什么是数的阶乘?

一个数的阶乘表示从 1 到该数的所有自然数的乘积。一个感叹号 '!' 表示一个数的阶乘。让我们看一个例子:5 的阶乘是 5! = 5 * 4 * 3 * 2 * 1。这等于 120

我们在这个 C 程序中应用的逻辑是声明变量 'i'、numfac。然后从用户读取数字并将其保存到变量 num 中。通过使用条件为 "i <= n" 的 for 循环,计算 fact = fact * i。最后,将数字的阶乘显示为 'fact'。if-else 语句的语法是:

if-else语句的语法是什么?


if (testExpression) {

  // codes inside the body of if

} else {

  // codes inside the body of else

}

如果测试表达式为 True,则我们执行 if 条件内的代码,并跳过 else 部分。但是,如果测试表达式为 False,我们则运行 else 部分并忽略 if 条件。

算法

步骤 1: 包含头文件以使用 C 程序中的内置函数。

步骤 2: 声明整数变量 i, fact, num,并将 fact 设置为 1。

步骤 3: 从用户读取数字并将其保存到变量 num 中。

步骤 4: 检查数字是否小于或等于零 if 有效,然后将 'fact=1' 并执行步骤 6。Else 执行步骤 5。

步骤 5: 使用 for 循环,条件为 i<=num,计算 fact=fact*i

步骤 6: 将数字 num 的阶乘显示为 fact

C 语言源代码

                                          #include <stdio.h>

void main() {
  int i, fact = 1, num;
  printf("Enter the number\n");
  scanf("%d", & num);
  if (num <= 0)
    fact = 1;
  else {
    for (i = 1; i <= num; i++) /* multiplying each number below the given number to get the factorial */ {
      fact = fact * i;
    }
  } /* End of else */
  printf("Factorial of %d =%d\n", num, fact);
} /* End of main() */
                                      

输出

Enter the number
5

Factorial of 5 =  120