编译代码#include<iostream> //计算问题2平均多少个主站可接受每支分队至少一个副站的气象报文 #include<cmath> using namespace std; int jiecheng(int m); long long C_zuhe(int m,int n); int jiecheng(int m) //求m的阶乘 { int output=1; if(m > 0) { for(int i =1; i<=m;i++) { output *= i; } else; return output; } long long C_zuhe(int m,int n) //求组合Cmn的值 { long long output =1; if(n < m -n){n = m -n;} if(m >= n) { for(int i =1; i<=m;i++) { output *=i; { for(int i =1; i<=m;i++) { output /=i; } } return output; } int main(){ int N =18; //主站数量 double P=0.8; //每个主站接受到每支分站至少一个副站的概率0.66,0.6925 double Result = 0.0; for (int i = 0; i <= N;i++) { Result = Result +C_zuhe(N,i)*pow(P,i)*pow(1-P,N-i)*i; } cout << Result << endl; return O; }
时间: 2024-03-20 08:41:17 浏览: 96
这段代码存在一些语法错误,需要进行修改。错误如下:
1. 第6行缺少右括号。
2. 第9行中的 else; 应该改为 else。
3. 第23行中的两个 for 循环重复了,应该改为一个 for 循环,其中包含两个语句块。
4. 第25行缺少右括号。
5. 第32行中的 i++ 后面多了一个右括号。
6. 第33行中的 i 应该改为 N-i。
修改后的代码如下:
```
#include<iostream>
#include<cmath>
using namespace std;
int jiecheng(int m)
{
int output=1;
if(m > 0)
{
for(int i =1; i<=m;i++)
{
output *= i;
}
}
else
{
return output;
}
}
long long C_zuhe(int m,int n)
{
long long output =1;
if(n < m -n)
{
n = m -n;
}
if(m >= n)
{
for(int i =1; i<=m;i++)
{
output *=i;
}
for(int i =1; i<=n;i++)
{
output /=i;
}
}
return output;
}
int main()
{
int N =18;
double P=0.8;
double Result = 0.0;
for (int i = 0; i <= N; i++)
{
Result = Result +C_zuhe(N,i)*pow(P,i)*pow(1-P,N-i)*i;
}
cout << Result << endl;
return 0;
}
```
这段代码的功能是计算问题2的答案,即平均多少个主站可接受每支分队至少一个副站的气象报文。其中,函数 jiecheng 用于求阶乘,函数 C_zuhe 用于求组合数,主函数中的 for 循环用于计算平均值并输出结果。
阅读全文