POJ 2503 Babelfish (c++)(map容器)

题目大意就是给两个单词,前面个单词是后面个单词的翻译,也就是说存在着一种由键到值的映射关系,以输入空行为标志结束录入的对应关系,之后输入单词输出对应翻译。所以此题可以用c++的map容器建立对应关系来解决。
 

代码如下:

 1 #include<iostream>
 2 #include<map>
 3 #include<cstdio>
 4 #include<cstring>
 5 using namespace std;
 6 int main(){
 7     char str1[35] ;
 8     char key[35] , value[35] ;
 9     map<string , string> map_ ;
10     while ( gets(str1) ){
11         if ( strcmp(str1 , "\0") == 0 ){
12             break ;
13         }
14         sscanf(str1 , "%s %s" , value , key) ;    ///从一个字符串中读进与指定格式相符的数据
15 //        map_[key] = value ;                     ///两种建立键值的关系均可;
16         map_.insert(make_pair(key , value)) ;
17     }
18     while ( gets(str1) ){
19         map<string , string>::iterator it ;       ///迭代器
20         it = map_.find(str1) ;                    ///查找map_中是否有此键
21         if ( it != map_.end() ){                  ///如果查找到
22             cout << it->second << endl ;          ///输出键值
23         }else{
24             cout << "eh" << endl ;                ///否则输出 eh
25         }
26     }
27     return 0 ;
28 }

 

转载于:https://www.cnblogs.com/Cantredo/p/9244921.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值