admin 管理员组

文章数量: 1086019


2024年3月11日发(作者:promise歌词中文翻译)

C语言如何计算阶乘

C语言可以使用循环和递归两种方法来计算阶乘。

方法一:循环

使用循环的方法是最常见的,通过循环从1到给定的数依次相乘,可

以计算出所需的阶乘。

```c

#include

long long factorial(int num)

long long result = 1;

// 从1到num依次相乘

for(int i = 1; i <= num; i++)

result *= i;

}

return result;

int mai

int num;

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

scanf("%d", &num);

//调用函数计算阶乘

long long result = factorial(num);

printf("%d的阶乘为%lldn", num, result);

return 0;

```

该程序先定义一个名为`factorial`的函数,该函数接受一个整数参

数`num`,并返回一个`long long`类型的结果。函数内部使用一个循环来

计算从1到`num`的乘积。

然后,在`main`函数中,用户输入一个正整数`num`,并将其作为参

数调用`factorial`函数来计算阶乘。最后,打印出计算结果。

方法二:递归

使用递归的方法是另一种计算阶乘的方式,递归是指函数在执行过程

中调用自身来解决问题的方法。

```c

#include

long long factorial(int num)

if(num == 0)

return 1;

} else

return num * factorial(num - 1);

}

int mai

int num;

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

scanf("%d", &num);

//调用函数计算阶乘

long long result = factorial(num);

printf("%d的阶乘为%lldn", num, result);

return 0;

```

在这个程序中,`factorial`函数采用递归的方式来计算阶乘。如果

给定的数`num`为0,则返回1,否则返回`num * factorial(num - 1)`。

在每一次递归调用中,这个函数会将问题的规模缩小为`num-1`,直到问

题规模缩小为0,即递归终止条件。

在`main`函数中,用户输入一个正整数`num`,并将其作为参数调用

`factorial`函数来计算阶乘。最后,打印出计算结果。

这两种方法都可以用来计算阶乘,选择使用哪一种取决于实际需求和

个人偏好。


本文标签: 函数 计算 递归 使用 方法