c 语言求从1到n的阶乘
时间: 2024-05-12 11:20:01 浏览: 112
以下是一个求从1到n的阶乘的C语言程序:
```
#include <stdio.h>
int main()
{
int n, i, j;
long long factorial;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
factorial = 1;
for (j = 1; j <= i; j++)
{
factorial *= j;
}
printf("%d! = %lld\n", i, factorial);
}
return 0;
}
```
该程序首先从用户处获取n的值,然后使用两个for循环分别计算每个数的阶乘并输出结果。内部循环计算阶乘,外部循环控制当前计算的数。注意,由于阶乘的结果可能非常大,因此使用了long long类型来存储结果。
相关问题
c语言递归方法求n的阶乘
下面是使用 C 语言递归方法求 n 的阶乘的示例代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n = 5;
int result = factorial(n);
printf("%d! = %d\n", n, result);
return 0;
}
```
在上面的示例代码中,我们定义了一个名为 `factorial` 的递归函数,用于计算 n 的阶乘。如果 n 等于 0,则返回 1,否则返回 n 乘以 `factorial(n-1)` 的结果。在 `main` 函数中,我们将 n 设置为 5,并调用 `factorial` 函数计算 5 的阶乘。最后,我们使用 `printf` 函数将结果输出到控制台。
c 语言求n的阶乘递归
在C语言中,求一个整数n的阶乘通常通过递归的方式来实现。阶乘是指从1乘到该数的所有正整数的积。以下是递归函数的一个简单例子:
```c
#include <stdio.h>
unsigned long long factorial(int n) {
// 阶乘的基本情况:0! 和 1! 都等于1
if (n == 0 || n == 1)
return 1;
else
// 递归调用,计算(n-1)!,然后乘以n
return n * factorial(n - 1);
}
int main() {
int num;
printf("请输入一个非负整数:");
scanf("%d", &num);
if(num >= 0) { // 检查输入是否合法
unsigned long long result = factorial(num);
printf("%d 的阶乘是 %llu\n", num, result);
} else {
printf("输入错误,阶乘只对非负整数有效。\n");
}
return 0;
}
```
阅读全文
相关推荐












