poj 2503 Babelfish

用到C++中的map<string,string>

收获 

map<string,string>s

s[char a[]]=char b[] ,虽然写着是string string  可是可以直接用char数组赋值

string转换为char 数组方法

  string s;

  char s1[50];

   strcpy(s1,s.c_str());

char数组转换为string 

   s=s1;

   或是 string s(s1);

题目思路清晰,代码:

#include<iostream>
#include<map>
#include<string>
using namespace std;
char s1[30],s2[30];
map<string,string>s;
void change()
{
	int l=strlen(s1),i,k;
	for(i=0;i<l;i++)
		if(s1[i]==' ')break;
	s1[i]='\0';
	for(k=0,i++;i<l;k++,i++)
		s2[k]=s1[i];
	s2[k]='\0';
	s[s2]=s1;

}
int main()
{
	string ss;
	while(gets(s1)!=NULL)
	{
		if(!strlen(s1))break;
		change();
	}
	while(gets(s1)!=NULL)
	{
		ss=s[s1];
		strcpy(s2,ss.c_str());
		if(strlen(s2))cout<<ss<<endl;
		else
			printf("eh\n");
	}
	return 0;
}


 

 

posted on 2013-08-24 19:54  you Richer  阅读(159)  评论(0编辑  收藏  举报