用到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]=' '; for(k=0,i++;i<l;k++,i++) s2[k]=s1[i]; s2[k]=' '; 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 "); } return 0; }