C语言编程实现计算n! 要求: 定义一个函数,用于递归计算一个数的阶乘。 从键盘上输入一个正整数n,在main函数中调用自己定义的函数,输出结果。
时间: 2024-02-28 17:56:15 浏览: 36
好的,以下是C语言的代码实现:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 1) { // 递归结束条件
return 1;
} else {
return n * factorial(n - 1); // 递归调用自身
}
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("%d的阶乘为%d\n", n, factorial(n));
return 0;
}
```
这段代码中,`factorial` 函数用于递归计算阶乘,接受一个整数参数 `n`,如果 `n` 等于 1,则返回 1,否则返回 `n` 乘上 `factorial(n-1)` 的结果,也就是递归调用自身。在 `main` 函数中,先从键盘读入一个正整数 `n`,然后调用 `factorial` 函数计算 `n` 的阶乘并输出结果。
相关问题
输入一个正整数n,输出n!的值。求阶乘功能用函数实现。C语言
好的,可以使用以下代码实现:
```c
#include <stdio.h>
// 定义阶乘函数
int factorial(int n) {
if (n == 0 || n == 1) { // 0的阶乘和1的阶乘都是1
return 1;
} else {
return n * factorial(n - 1); // 递归调用自身求解
}
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("%d的阶乘为:%d", n, factorial(n));
return 0;
}
```
输入一个正整数n后,程序会调用阶乘函数,输出n!的值。
用c语言写一段程序,要求从键盘输入一个数,用递归调用函数求出这个数的阶乘
好的,可以使用下面的 C 代码实现:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
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;
}
```
这个函数通过递归调用自身来计算输入数字的阶乘,当输入数字为 0 时直接返回 1,否则返回输入数字乘以输入数字减 1 的阶乘。最后输出计算结果。