用C语言实现输入一个数求这个数的阶乘
时间: 2024-03-01 19:53:21 浏览: 26
好的,您可以参考以下代码:
```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, factorial);
return 0;
}
```
在这个程序中,我们首先读取用户输入的整数 `n`,然后使用一个循环来计算 `n` 的阶乘。由于阶乘的结果可能很大,我们使用 `long long` 类型来存储结果。最后,我们将结果输出到屏幕上。
相关问题
求输入一个数的阶乘,c语言代码
好的,以下是一个用C语言实现计算阶乘的代码:
```c
#include <stdio.h>
int main() {
int n, i;
unsigned long long factorial = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
// 如果输入的是负数,则不计算
if (n < 0)
printf("错误!输入的是负数。");
else {
for (i = 1; i <= n; ++i) {
factorial *= i; // 计算阶乘
}
printf("%d 的阶乘是 %llu", n, factorial);
}
return 0;
}
```
当执行完这段代码后,您可以输入一个正整数,程序会计算它的阶乘并输出结果。注意,在输入负数时,程序会提示错误。
用递归函数实现一个数的阶乘 c语言
以下是用递归函数实现一个数的阶乘的 C 语言代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("%d的阶乘为%d\n", n, factorial(n));
return 0;
}
```
在上面的代码中,我们定义了一个名为 `factorial` 的递归函数,它接受一个整数 `n` 并返回 `n` 的阶乘。如果 `n` 是 0 或 1,函数直接返回 1。否则,函数递归调用自身来计算 `n-1` 的阶乘,并将结果乘以 `n`,最终得到 `n` 的阶乘。
在 `main` 函数中,我们首先从用户那里输入一个正整数 `n`,然后调用 `factorial` 函数来计算 `n` 的阶乘,并将结果输出到屏幕上。