Problem : 1048 ( The Hardest Problem Ever )
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
while(getline(cin,s)&&s.compare("ENDOFINPUT")!=0)
{
if(s.compare("START")!=0 && s.compare("END")!=0)
//输入的数据s与ENDOFINPUT,END,START比较,不得于零时,继续下一步 { for(int i=0;i<s.length();i++) { if(s[i]>='A'&&s[i]<='E') { s[i]=s[i]+21; } else if(s[i]>='F'&&s[i]<='Z')
//一定要用else if,因为如果用if,数据在第一次if中可能会变成在 F 到 Z 中,则会接着在第二个if中继续运行 { s[i]=s[i]-5; } cout<<s[i]; } cout<<endl; } } return 0; }