c语言编写程序,计算N的阶乘。 输入格式: 输入在一行中给出一个非负整数N(0≤N≤21)。 输出格式: 在一行中按照“product = F”的格式输出阶乘的值F,请注意等号的左右各有一个空格。题目保证计算结果不超过双精度范围。
时间: 2024-10-15 19:22:16 浏览: 81
编写程序,输入整数 n,计算并输出 n 的阶乘
在C语言中,可以使用递归或者循环的方式来计算一个非负整数N的阶乘。这里是一个简单的递归函数示例:
```c
#include <stdio.h>
// 阶乘函数
long long factorial(int n) {
if (n == 0 || n == 1) { // 0! 和 1! 的特殊情况直接返回1
return 1;
} else {
return n * factorial(n - 1); // 递归调用,n乘以(n-1)的阶乘
}
}
int main() {
int N;
printf("请输入一个非负整数N(0≤N≤21): ");
scanf("%d", &N);
// 检查输入是否在范围内
if (N > 21) {
printf("错误!N超过了21。\n");
return 1;
}
// 计算并输出阶乘
long long product = factorial(N);
printf("product = %lld\n", product);
return 0;
}
```
在这个程序中,首先从用户那里获取输入的整数N,然后检查它是否在允许的范围内。接着,递归地调用`factorial`函数计算阶乘,并将结果存储在`product`变量中。最后,按照指定的格式输出结果。
阅读全文