字符串问题:纸片人的概率
要求
1.输出的概率要保留5位小数
2.字母与单词的匹配不区分大小写
3.计算字母在单词中出现的次数
方案
1.对Q1,换用printf( ) 函数输出,"%.5f"表示输出保留5位小数对浮点数
2.在计算次数前将字母与单词统一转换成小写字母
3.利用for循环进行累加计数,累加前要将和赋值为0
源码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
char x;
int i;
string word;
double n,m;
while(cin >> x){
cin >> word;
if(x>='A'&&x<='Z')
x += 'a' - 'A';
n = 0.0;
m = word.size();
for(i=0;i<m;i++)
if(word[i]>='A'&&word[i]<='Z')
word[i] += 'a' - 'A';
for(i=0;i<m;i++){
if(word[i]==x)
n++;
}
printf("%.5f\n",n/m);
}
}