已解决 朱优扬 中级天翼 #include <bits/stdc++.h> using namespace std; int main(){ string a; cin>>a; for(int i=1;i<=a.size();i++){ if(((int)a[i-1]>=65&&(int)a[i-1]<=89)||((int)a[i-1]>=97&&(int)a[i-1]<=121)){ cout<<(char)(a[i-1]-3); } else{ cout<<a[i-1]; } } return 0; }
被禁言 何冯成 中级光能 你这个思路有问题 输入:getline 遍历从0开始,到a.size()-1 if(((int)a[i-1]>=65&&(int)a[i-1]<=89)||((int)a[i-1]>=97&&(int)a[i-1]<=121)){ cout<<(char)(a[i-1]-3); } 改成 if(a[i]>='D'&&a[i]<='Z'||a[i]>='d'&&a[i]<='z') a[i]-=3; else 的改为else if(.......) a[i]... 最后cout<<a;