魈凯KBS • 4个月前
第一种比较复杂
using namespace std;
char turn(char c, char t) {
if (c >= 'a' && c <= 'z') {
c += t;
if (c > 'z') {
c -= 26;
}
}
else if (c >= 'A' && c <= 'Z') {
c += t;
if (c > 'Z') {
c -= 26;
}
}
return c;
}
int main() {
char a[10];
long long t;
for (long long i = 0; i < 5; i++) {
cin >> a[i];
}
cin >> t;
for (long long i = 0; i < 5; i++) {
cout << turn(a[i], t);
}
return 0;
}
评论:
第二种,是所有人都懂得方法
using namespace std;
char a[6];
int main(){
int n; for(int i = 1; i <= 5; i++){
cin >> a[i];
} cin >> n; for(int i = 1; i <= 5; i++){
cout << char(a[i] + n);
} return 0; }
第三种也可以,但有点麻烦,起码比第一种好
using namespace std; int f; char x(char a){
if (a >= 'A' && a <= 'Z'){
return (a - 'A' + f) % 26 + 'A';
}
return (a - 'a' + f) % 26 + 'a';
}
int main(){
char a,b,c,d,e;
cin>>a>>b>>c>>d>>e>>f;
cout<<x(a)<<x(b)<<x(c)<<x(d)<<x(e);
return 0;
}