用c语言输入一个n 输出n的阶乘
时间: 2024-10-19 20:03:45 浏览: 138
在C语言中,计算一个数n的阶乘通常涉及迭代或者递归。这里给出一个使用循环(for循环)的例子:
```c
#include <stdio.h>
long long factorial(int n) { // 使用long long防止溢出,因为阶乘的结果会很大
if (n == 0 || n == 1) { // 阶乘的基本情况:0和1的阶乘都是1
return 1;
} else {
long long result = 1;
for (int i = 2; i <= n; i++) {
result *= i; // 计算阶乘,每次乘以当前数i
}
return result;
}
}
int main() {
int n;
printf("请输入一个非负整数: ");
scanf("%d", &n); // 输入用户提供的数值
long long fact = factorial(n);
printf("该数的阶乘是: %lld\n", fact);
return 0;
}
```
这个程序首先检查输入的n是否为0或1,如果是,则直接返回1;否则,通过for循环从2到n累乘,得到结果。
相关问题
使用C语言输入一个n并打印1-n的阶乘。
好的,你可以参考下面的代码来实现:
```c
#include <stdio.h>
int main() {
int n, i, j, factorial;
printf("请输入一个整数n: ");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
factorial = 1;
for (j = 1; j <= i; j++) {
factorial *= j;
}
printf("%d! = %d\n", i, factorial);
}
return 0;
}
```
这个程序会要求用户输入一个整数n,然后会依次计算并输出1到n的阶乘。其中,外层循环控制计算的范围,内层循环计算阶乘。
输入一个整数输出n的阶乘c语言
在 C 语言中,计算一个整数 n 的阶乘可以使用递归或循环的方式。这里是一个简单的使用循环实现的函数示例:
```c
#include <stdio.h>
long long factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况,0和1的阶乘都是1
return 1;
} else {
long long result = 1; // 初始化结果为1
for (int i = 2; i <= n; i++) {
result *= i; // 逐个乘以从2到n的数字
}
return result;
}
}
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (num >= 0) { // 确保输入的是非负整数
long long fact = factorial(num);
printf("%d 的阶乘是 %lld\n", num, fact);
} else {
printf("输入错误,请输入非负整数。\n");
}
return 0;
}
```
在这个程序中,`factorial()` 函数会计算给定整数 n 的阶乘,并在 `main()` 中获取用户输入并显示结果。
阅读全文