字符串类型算法,重要是要找准边界,本题的边界在前五个字母(A~E);其次就是利用getline函数来取字符串。
#include <iostream> #include <cstdio> #include <string> using namespace std; int main(){ string str; while(getline(cin, str)){ if(str == "ENDOFINPUT"){ break; } getline(cin, str); for(int i = 0; i < str.size(); ++i){ if( 'A' <= str[i] && str[i] <= 'E'){ str[i] = 21 + str[i]; }else if('F' <= str[i] && str[i] <= 'Z'){ str[i] -= 5; } } cout << str << endl; getline(cin, str); }return 0; }