欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

实现一个输出字符串中各个字符出现的频率frequency函数

程序员文章站 2024-03-15 16:11:11
...

frequency函数的具体实现
实现一个输出字符串中各个字符出现的频率frequency函数

#include <iostream>
#include<string>
#include<set>
#include<iterator>
using namespace std;
void frequency(string a) {
	int i = 0;
	int j = a.length();
	int code[256] = {0};
	for (i = 0; i < j; i++) {  //字符的类型总共有256个,通过哈希的方式,每个字符存到这个字符ascii码对应的数组下表的数组中区
		code[a[i]]++;//通过++来统计出现的次数
	}
	set<char>b;
	set<char>::iterator iter = b.begin();
	for (i=0; i < a.length(); i++)
		b.insert(a[i]); //通过集合的不可重复性,将字符串中的字符一个个挑出来
	for (iter = b.begin(); iter != b.end();iter++) {
		float f = j;
		float t = code[*iter];             //计算出现频率并且输出           
		float se = t / f;
		cout << *iter<<" "<<se<<endl;
	}
}
int main() {
	string a;
	cin >> a;
	frequency(a);   
	cout << endl;
	return 0;
	}

实现的截图
实现一个输出字符串中各个字符出现的频率frequency函数