#include <iostream>
#include <cstdio>
#include "string"
using namespace std;
int main() {

    char qingbao[81];
    fgets(qingbao, 81, stdin); //后边会多一个\n
    string qb = qingbao;
    qb.erase(qb.size() - 1);
    for (int i = 0; i < qb.length(); i++) {
        if (qb[i] >= 'a' && qb[i] <= 'y' || qb[i] >= 'A' && qb[i] <= 'Y') {
            qb[i] += 1;
        } else if (qb[i] == 'z' || qb[i] == 'Z') {
            qb[i] -= ('z' - 'a');
        }


    }
    printf("%s\n", qb.c_str());









    return 0;
}

因为输入的字符串有空格 ,所以选择 fgets 来读字符串,不过 fgets,也会多读进来一个 \n换行 ,所以再用string 的erase擦去换行

为什么要用string,因为普通字符串char[] 没法判断长度,也就没办法擦去最后的换行,再来一个循环很麻烦,而且下面的for循环条件也可以直接调用.length方法