为什么输入‘q’就直接向前6位到‘w’????
#include<bits/stdc++.h>
using namespace std;
string str,a;
int main()
{
cin>>str;
for (unsigned int i=0;i<str.size();i++)
{
if(islower(str[i]))
{
if((str[i]>='x')&&(str[i]<='z'))
str[i] -= 55; //'x';'X';'A' -32-26-3
else
str[i] -= 29; //'q';'Q';'T' -32+3
}
if(isupper(str[i]))
{
if((str[i]>='X')&&(str[i]<='Z'))
str[i] += 9; //'X';'x';'a' +32-26+3
else
str[i] += 35; //'A';'a';'d' +32+3
}
}
a.resize(str.size());
for(int i=str.size()-1;i>=0;i--)
{
a[str.size()-1-i]=str[i];
}
cout<<a<<endl;
return 0;
}