如何用C语言编程来表示计算阶乘(n!)后取倒数的数学运算?
时间: 2024-12-15 12:26:30 浏览: 9
在C语言中,你可以使用递归函数来计算阶乘,然后通过浮点数除法计算其倒数。首先,我们需要编写一个递归函数来计算阶乘:
```c
#include <stdio.h>
double factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况:0! 和 1! 等于1
return 1;
} else {
return n * factorial(n - 1); // 递归调用,n! = n * (n - 1)!
}
}
double reciprocal_factorial(double n) {
double fact = factorial(n);
if (fact != 0) { // 避免除以零的情况
return 1 / fact;
} else {
printf("Error: Division by zero!\n");
return 0; // 或者抛出异常处理
}
}
```
然后,在主程序中调用这个函数并打印结果:
```c
int main() {
int num;
printf("Enter a non-negative integer: ");
scanf("%d", &num);
double result = reciprocal_factorial(num);
printf("The reciprocal of %d! is %.9f\n", num, result);
return 0;
}
```
阅读全文