#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int cnt_sun, cnt_clo,cnt_rain;// 各天气出现频数
int cnt_sun2,cnt_clo2,cnt_rain2;// 各天气在某条件下出现频数
double P_clo,P_rain,P_sun;// 各天气出现概率
double P_clo2,P_rain2,P_sun2;// 某天气出现的条件概率
double P_clo3,P_rain3,P_sun3;// 最终概率
void NB(){
char c;
bool flag= false;
string s = "SSSSCCRRSSSSCCRSCRRRCCCRSSSCRS";
for(int i=0;i<s.size();i++){
c = s[i];
if(c=='S'){
++cnt_sun;
}else if(c=='R') ++cnt_rain;
else ++cnt_clo;
if(flag){
if(c=='S'){
++cnt_sun2;
}else if(c=='R') ++cnt_rain2;
else ++cnt_clo2;
}
if(c == 'R') flag = true;
else flag = false;
}
P_sun = 1.0 * cnt_sun/30.0;
P_clo = 1.0 *cnt_clo /30.0;
P_rain = 1.0 * cnt_rain /30.0;
P_sun2 = 1.0 * cnt_sun2/cnt_rain;
P_clo2 = 1.0 *cnt_clo2 /cnt_rain;
P_rain2 = 1.0 * cnt_rain2 /cnt_rain;
P_sun3 = (P_sun2 * P_rain) / P_sun;
P_clo3 = (P_clo2 * P_rain) / P_clo;
P_rain3 = (P_rain2 * P_rain) / P_rain;
}
void show()
{
// SSSSCCRRSSSSCCRSCRRRCCCRSSSCRS
char c;
cout <<"input the weather today: ";
cin >> c;
cout <<"the probability of rain tomorrow : ";
if(c=='S'){
cout << P_sun3<<endl;
}else if(c=='R') cout << P_rain3<<endl;
else cout << P_clo3<<endl;
}
int main(){
NB();
show();
return 0;
}
10-23
2318
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
10-10
385
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交