#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方法

京公网安备 11010502036488号