输入一个整数求他的阶乘,C语言
时间: 2024-11-30 16:21:25 浏览: 32
在C语言中,计算一个整数n的阶乘通常会用到循环结构。这里是一个简单的函数示例,它使用了`for`循环来实现:
```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; // 每次循环将当前数乘到结果上
}
return result;
}
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
long long fact = factorial(num);
printf("输入数字 %d 的阶乘是:%lld\n", num, fact);
return 0;
}
```
在这个程序中,`factorial`函数接收一个整数作为输入,并返回它的阶乘。注意,如果输入的数值很大,可能会超出`int`类型的范围,这时可以使用`long long`类型来存储结果。
相关问题
求正整数n的阶乘c语言
求正整数 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 语言中,计算一个整数 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()` 中获取用户输入并显示结果。
阅读全文