编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。M与n为两个正整数,且要求m>n。 p=m!/n!(m-n)! 使用c++与#include <stdio.h>
时间: 2024-09-19 10:15:11 浏览: 46
C语言题库,有答案!
在C++中,你可以编写一个名为`fun`的函数来计算给定的公式。这个函数需要接收两个整数参数`m`和`n`,然后按照要求检查它们是否满足条件(m > n),并计算`p`的值。以下是该函数的一个实现示例:
```cpp
#include <iostream>
using namespace std;
// 计算阶乘
unsigned long long factorial(int n) {
unsigned long long fact = 1;
for (int i = 1; i <= n; ++i) {
fact *= i;
}
return fact;
}
// 函数fun用于计算p值
double fun(int m, int n) {
if (m <= n || m <= 0 || n <= 0) { // 检查m和n是否满足条件
cout << "输入错误: m必须大于n且都是正整数." << endl;
return -1; // 返回错误值
}
double p = static_cast<double>(factorial(m)) / (factorial(n) * factorial(m - n)); // 计算p
return p;
}
int main() {
int m, n;
cout << "请输入m和n(m > n): ";
cin >> m >> n;
double result = fun(m, n);
if (result != -1) {
printf("p的值为: %.6f\n", result); // 输出结果
}
return 0;
}
```
在这个程序中,首先定义了一个辅助函数`factorial`来计算阶乘。然后在`fun`函数中,我们先检查输入的合法性,接着计算并返回`p`的值。在主函数`main`中,用户会被提示输入`m`和`n`,并显示计算出的`p`值。
阅读全文