统计元音字母
2015-12-11 14:45
288 查看
输入一个字符串,统计处其中元音字母的数量。更复杂点的话统计出每个元音字母的数量。 明显的是可以利用上一步的拉丁猪蚊子游戏进行处理,代码如下:1,统计元音出现的次数:
[/code]2,统计每一个元音出现的次数:这样子的话就需要使用map,给它初始化每一个字符为0,剩下每一次查找倒之后给它增加一:
[/code]
这样子就可以了,这个中间使用了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的函数
来自为知笔记(Wiz)
#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;
}
[/code]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;
}
[/code]
这样子就可以了,这个中间使用了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的函数
来自为知笔记(Wiz)
相关文章推荐
- Android 多渠道打包原理和使用
- Eclipse中最有用的快捷键组合
- sap 教程编号
- css属性书写顺序
- 【Mysql】主从环境搭建步骤详解
- 简单的网络协议介绍
- OC_多态
- C/C++常用算法【C语言顺序查找(随机数)】【1】
- ERROR: Application requires API version 19. Device API version is 17 (Android 4.2.2).
- C/C++常用算法【C语言顺序查找(随机数)】【1】
- 心算 进制转换 心得 =》 任意进制的数 转 任意进制的数
- 对抗警报疲劳的七个步骤!
- Node.Js简介与安装
- iOS开源项目大全(二)(整理自网络)
- 黑马程序员——反射
- 解决 singleTask onActivityResult() 无效的问题
- IOS-自动布局和视图化语言1
- 关于计算机端口
- swift -pop的简单动画
- 破解 “PEDIY CrackMe 2007” 之 Duelist's Crackme #4(替换加密)