C++程序设计语言练习6.3 multimap标准库的使用
2016-06-01 15:51
417 查看
代码如下:
#include <iostream>
#include <map>
#include <string>
using std::cin;
using std::cout;
using std::multimap;
using std::string;
using std::pair;
int main()
{
string str;
float f;
multimap<string,float> name;
while(cin>>str>>f){
name.insert(pair<string,float>(str,f));
}
multimap<string,float>::const_iterator citer = name.begin();
while(citer != name.end()){
float sum = 0;
string key = citer->first;
int count = name.count(citer->first);
for(int i = 0;i<count; i++){
sum += citer->second;
citer++;
}
cout<<"the sum of key "<< key<<" is:"<<sum<<
" and the average is "<< sum/count<<'\n';
}
citer = name.begin();
float sum = 0;
float average = 0;
for (; citer != name.end(); ++citer)
{
sum += citer->second;
}
cout << "the sum of map is:"<<sum<<
" and the average is "<<sum/name.size()<<'\n';
}
#include <iostream>
#include <map>
#include <string>
using std::cin;
using std::cout;
using std::multimap;
using std::string;
using std::pair;
int main()
{
string str;
float f;
multimap<string,float> name;
while(cin>>str>>f){
name.insert(pair<string,float>(str,f));
}
multimap<string,float>::const_iterator citer = name.begin();
while(citer != name.end()){
float sum = 0;
string key = citer->first;
int count = name.count(citer->first);
for(int i = 0;i<count; i++){
sum += citer->second;
citer++;
}
cout<<"the sum of key "<< key<<" is:"<<sum<<
" and the average is "<< sum/count<<'\n';
}
citer = name.begin();
float sum = 0;
float average = 0;
for (; citer != name.end(); ++citer)
{
sum += citer->second;
}
cout << "the sum of map is:"<<sum<<
" and the average is "<<sum/name.size()<<'\n';
}
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性