简单的将字符按顺序移位输出即可,水题。
Solution:
#include <algorithm> #include <iostream> #include <utility> #include <cstring> #include <cstdlib> #include <cctype> #include <cstdio> #include <string> #include <vector> #include <cmath> #include <queue> #include <map> using namespace std; #define mm(a) memset(a, 0, sizeof(a)) #define LL long long #define Mod 1000000007 bool flag; int i,j,k; string s; int n,sum; char s1[2500]; int main() { while(1) { // mm(s); // freopen("E:\\input.txt","r",stdin); // freopen("E:\\output.txt","w",stdout); cin>>s; getchar(); if(s == "START") { mm(s1); gets(s1); if(!strcmp(s1,"END")) continue; else { for(i=0; i<strlen(s1); i++) { if(isalpha(s1[i])) { if(s1[i] > 'E') printf("%c", s1[i]-5); else printf("%c", s1[i]+21); } else printf("%c",s1[i]); } printf("\n"); } } else if(s == "ENDOFINPUT") break; } return 0; }