| 题目描述: | 老师在一个不透明的纸袋里放入一些乒乓球,每个乒乓球上都有一个数字,当球放入之后,让小明从中随机拿一个。在球放入之后,小明抽之前,老师想让您帮忙编程先计算一下,拿到某个数字x的概率是多少? 比如:老师向袋子里面放入了5个球,对应的数字分别是2 3 2 4 2,那么拿到数字2的概率为3 / 5 = 0.6,拿到数字3的概率为1 / 5 = 0.2。(8.2) |
| 输入: | 第一行是一个整数n代表袋子里球的个数 第二行n个数,代表袋子里每个球上面的数字的值 第三行一个整数x,是要计算出现概率的数字(x不一定在第二行的n个数中出现,也就是说x对应的球可能在袋子里没有) |
| 输出: | x被拿到的概率(结果保留2位小数) |
| 样例输入: | 5 2 3 2 4 2 2 |
| 样例输出: | 0.60 |
| 提示: | 拿到数字x的概率 = 数字x的个数 / 总数字的个数 第一步:求出数字x在数组中出现的次数 第二步:概率 = x出现的次数 / 总元素个数
#include <bits/stdc++.h>
using namespace std;
int main() {
int a[1000];//存储读入的数字
int i,n,c = 0,x;//c统计x在数组中出现的次数
cin>>n;//读入的数字的数量
//读入n个数
for(i = 0;i < n;i++){
cin>>a[i];
}
//读入x,表示要找的数
cin>>x;
//求出x在数组中出现了几次
for(i = 0;i < n;i++){
if(a[i] == x){
c++;
}
}
//输出x出现的概率
cout<<fixed<<setprecision(2)<<c * 1.0 / n;
return 0;
}
|
| 来源: | 数组问题 |
| 解答: | 数组问题 |