注意输入的n可能是-10000之类的数字,要善用%。
直接对大小写进行ASCII码的判断即可,没必要打表。
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a;
getline(cin,a);
int n;
cin>>n;
n=n%26;
for(int i=0;a[i];i++)
{
if(isupper(a[i]))
{
int temp=a[i]-'A';
a[i]=(temp+n+26)%26+'A';
}
if(islower(a[i]))
{
int temp=a[i]-'a';
a[i]=(temp+n+26)%26+'a';
}
}
cout<<a;
}