【华为练习题】字符出现频率
题目
描述:写出一个程序,输出基准字符串中统计指定字符出现的频率
字符串仅包括英文大小写字母和空格、逗号、点号
小数点后保留2位有效数字,第三位四舍五入
举例:
输入:wo shi, yi zhi.xiao xiao niao
‘ ’(空格)
输出:0.17
接口说明:
/*
功能: 输入的基准字符串中统计指定字符出现的频率
字符串仅包括英文大小写字母和空格、逗号、点号
小数点后保留2位有效数字,第三位四舍五入
输入: String pString 输入的基准字符串
char c 指定的字符
返回: 输出指定字符出现的频率
*/
解答
#include <iostream>
#include <string>
using namespace std;
float getRateFromString(const string &pString, char c){
float count = 0, sum = (float)pString.size();
for (unsigned i = 0; i < pString.size(); i++)
{
if (pString[i] == c)
{
count++;
}
}
return (float)((int)(count / sum * 100)) / 100;
}
时间: 2024-12-19 05:50:39