求正整数n的阶乘c语言
时间: 2023-07-13 15:27:40 浏览: 54
求正整数 n 的阶乘可以使用循环语句来实现,以下是一个用 C 语言编写的示例代码:
```
#include <stdio.h>
int main()
{
int n, i;
long long factorial = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
// 计算阶乘
for (i = 1; i <= n; ++i) {
factorial *= i;
}
printf("%d 的阶乘为 %lld\n", n, factorial);
return 0;
}
```
在上述代码中,我们使用了一个变量 `factorial` 来保存阶乘的结果。通过循环语句,我们可以依次将 1 到 n 之间的所有整数相乘,从而得到 n 的阶乘。需要注意的是,由于阶乘的结果可能会非常大,因此我们使用了 `long long` 类型来保存阶乘的结果。
相关问题
编写函数,求正整数n的阶乘。c语言
实现如下:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 1) // 递归终止条件
return 1;
else
return n * factorial(n-1); // 递归式
}
int main(void) {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("%d的阶乘为:%d", n, factorial(n));
return 0;
}
```
该函数使用递归实现阶乘的计算,递归结束条件是 n 等于 1,否则递归调用函数本身,并将 n 减 1 作为参数传入进行递归计算。最终结果为 n 的阶乘。
定义一个用于求正整数的阶乘的函数,并调用该函数求5的阶乘。c语言
好的,以下是定义一个用于求正整数的阶乘的函数,并调用该函数求5的阶乘的C语言代码示例:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int result = factorial(5);
printf("5的阶乘是:%d", result);
return 0;
}
```
输出结果为:5的阶乘是:120
该代码中,我们定义了一个名为`factorial`的函数来计算正整数的阶乘。该函数采用递归的方式来实现,当输入值为1时,返回1,否则返回n乘以n-1的阶乘。在`main`函数中,我们调用了`factorial`函数并输出结果。