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;

}


 

 

你可能感兴趣的:(poj)