很简单的一道题,只是这里输入的字符串包含空格,因此要用到getline或则gets,而不能用scanf("%s",str)。。。。。 // source code of submission 737435, Zhongshan University Online Judge System #include <iostream> #include <cstdio> #include <cctype> #include <string> using namespace std; int main() { int t,data_set = 1; cin>>t; scanf("/n"); //这一行灰常重要 while(t--) { string s,ch; getline(cin,s); getline(cin,ch); string::size_type ix; for(ix = 0;ix<s.size();ix++) { if(isalpha(s[ix])) s[ix] = ch[s[ix] - 'A']; } cout<<data_set<<" "; for(ix = 0;ix<s.size();ix++) cout<<s[ix]; cout<<endl; data_set++; } return 0; }