统计元音字母
输入一个字符串,统计处其中元音字母的数量。更复杂点的话统计出每个元音字母的数量。
明显的是可以利用上一步的拉丁猪蚊子游戏进行处理,代码如下:
1,统计元音出现的次数:
#include <iostream>#include <string>#include <set>using namespace std;int main(int argc, char const *argv[]){set<int> vowel;vowel.insert('a');vowel.insert('e');vowel.insert('i');vowel.insert('o');vowel.insert('u');vowel.insert('A');vowel.insert('E');vowel.insert('I');vowel.insert('O');vowel.insert('U');string str; cin>>str;int n = 0;string::iterator rIt ;for (rIt = str.begin(); rIt != str.end(); ++rIt){if (vowel.find(*rIt) != vowel.end()){n++;}}cout<<n;return 0;}
2,统计每一个元音出现的次数:
这样子的话就需要使用map,给它初始化每一个字符为0,剩下每一次查找倒之后给它增加一:
#include <iostream>#include <string>#include <map>using namespace std;int main(int argc, char const *argv[]){std::map<char, int> vowelmap;vowelmap.insert(make_pair('a',0));vowelmap.insert(make_pair('e',0));vowelmap.insert(make_pair('i',0));vowelmap.insert(make_pair('o',0));vowelmap.insert(make_pair('u',0));map<char ,int >::iterator mapiter;string str; cin>>str;int n = 0;string::iterator rIt ;for (rIt = str.begin(); rIt != str.end(); ++rIt)if ( (mapiter = vowelmap.find(*rIt) )!= vowelmap.end())mapiter->second++;for (mapiter = vowelmap.begin(); mapiter != vowelmap.end(); ++mapiter)cout<<mapiter->first<<" "<<mapiter->second<<endl;return 0;}
这样子就可以了,这个中间使用了map容器,下面是使用方法
C++ Maps是一种关联式容器,包含“关键字/值”对
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数

浙公网安备 33010602011771号