80分求助
查看原帖
80分求助
524217
凛冬之痕楼主2022/4/24 14:05
#include<iostream>
#include<string>
using namespace std;
string a,b,s1;
int t,c[27],maxa;
void daxie(string s){
	for(int i=0;i<s.size();i++){
		if(s[i]>='a'&&s[i]<='z'){
			s[i]=s[i]-'a'+'A';
		}
	}
	s1=s;
}
int main(){
	while(cin>>a){
		if(a=="ENDOFINPUT"){
			return 0;
		}
		getline(cin,s1);
		getline(cin,s1);
		cin>>b;
		daxie(s1);
		if(!t){
			for(int i=0;i<s1.size();i++){
				if(s1[i]>='A'&&s1[i]<='Z'){
					c[s1[i]-'A'+1]++;
					if(c[s1[i]-'A'+1]>maxa){
						maxa=c[s1[i]-'A'+1];
						if(s1[i]>'E'){
							t=s1[i]-'E';
						}else{
							t=s1[i]+26-'E';
						}
					}
				}
			}
		}
		for(int i=0;i<s1.size();i++){
			if(s1[i]>='A'&&s1[i]<='Z'){
				if(s1[i]-t<'A'){
					cout<<char(s1[i]-t+26);
				}else{
					cout<<char(s1[i]-t);
				}
			}else{
				cout<<s1[i];
			}
		}
		cout<<endl;
	}
}
2022/4/24 14:05
加载中...