Poj 2503 map sscanf

Poj 2503 map sscanf

题意

字符串的映射,但它输入的方式很怪。

首先每行输入两个单词,中间隔一个空格,到输入空行为止。
然后每行输入一个单词,如果能存在映射的单词就输出对应单词,不能就输出"eh".

sscanf的用法

sscanf(原串,"格式", 接收的串),比如代码中

sscanf(s, "%s %s",key, tar);//两个字符串中间一个空格

代码

void solve()
{
	map<string,string>mp;
	char key[30],tar[30],s[30];
	while(gets(s)&&s[0]!='\0')
	{
		sscanf(s,"%s %s",key,tar);
		mp[tar]=key;
	}
	while(gets(s)&&s[0]!='\0') 
	{	
		sscanf(s,"%s",key);
		if(!mp.count(key)) cout<<"eh"<<endl;
		else cout<<mp[key]<<endl;
	}
}
posted @ 2023-02-15 00:00  Liang2003  阅读(11)  评论(0编辑  收藏  举报