121. 字母平移

 avatar
user_6817964
c_cpp
2 years ago
729 B
1
Indexable
Never
char ascii(char sign, int num, char msg);


char ascii(char sign, int num, char msg) {
    char x[27] = { "ABCDEFGHIJKLMNOPQRSTUVWXYZ" };
    if (sign == '+') {
        for (int i = 0; i < 26; i++) {
            if (x[i] == msg) {
                return x[(i + num) % 26];
            }
        }
    }
    else {
        for (int i = 0; i < 26; i++) {
            if (x[i] == msg) {
                if (i >= num)
                    return x[(i - num)];
                else
                    return x[i - num + 26];
            }
        }
    }
}


int main() {
    char sign, msg;
    int num;
    scanf("%c%d%c", &sign, &num, &msg);
    printf("%c", ascii(sign, num, msg));

    return 0;
}