问题标题: 酷町堂:2658 OMG

0
0
已解决
汪宇航
汪宇航
新手启示者
新手启示者

题目描述 Description

小明和小红在玩字母平移的游戏。游戏规则如下:小红说一个整数m(1~10000),接着小明说一个整数n(0~26),小红说出m个字符(包含空格),小明需要说出这m个字符中所有大写字母向后平移n位后的结果。
例如:
当m=5,n=2
小红说
Ab-cZ

则小明需要说出
Cb-cB

字符’Z’向后平移2位就是’B’

输入描述 Input Description

输入共两行,
第一行输入两个整数m,n,空格隔开。(1<=m<=10000,0<=n<=26)
第二行输入一个长度为m的字符串

输出描述 Output Description

输出一行,是平移后的字符

样例输入 Sample Input

5 3 ABcXy

样例输出 Sample Output

DEcAy


0
已采纳
胡钰妍
胡钰妍
资深光能
资深光能
#include<iostream>
using namespace std;
int m,n;
string s;
int main(){
    cin>>m>>n;
    getline(cin,s);
    getline(cin,s);
    for(int i=0;i<m;i++){
        if(s[i]>='A'&&s[i]<='Z'){
            if(s[i]+n<='Z'){
                s[i]+=n;
            }
            else{
                s[i]+=n-26;
            }
        }
    }
    cout<<s;
    return 0;
}
望采纳

 

我要回答