问题 M: 字母概率
时间限制: 1 Sec 内存限制: 32 MB
提交: 161 解决: 71
题目描述
小明最近对概率问题很感兴趣。一天,小明和小红一起玩一个概率游戏,首先小明给出一个字母和一个单词,然后由小红计算这个字母在这个单词中出现的概率。字母不区分大小写。
例如,给定的字母是a,单词是apple,那么概率是0.20000。
输入
输入包含多组测试数据。每组数据包含一个字母和一个单词。单词的长度不超过200。
输出
对于每一个输入,输出对应的概率,结果保留5位小数。
样例输入 Copy
a apple c Candy a banana
样例输出 Copy
0.20000 0.20000 0.50000
代码
#include <iostream>
#include <string>
#include <algorithm>
//输入过程当中,注意输入格式,用getchar()吸收空格和回车键
using namespace std;
int main(){
char c;
string s;
int num=0;
while(scanf("%c",&c)!=EOF){
getchar();
cin>>s;
getchar();
int len=s.size();
for(int i = 0;i < len;i++){
if(c>='A'&&c<='Z'){
c=c+32;
}
if(s[i]>='A'&&s[i]<='Z'){
s[i]+=32;
}
if(c==s[i]){
num++;
}
}
printf("%.5f\n",1.0*num/len);
num=0;
}
}