把字符串s中所有大写字母写成该字母的前一个字母,小写字母和其他字符保持不变,c++
时间: 2024-03-22 11:40:58 浏览: 54
c语言将字符串中的小写字母转换成大写字母
5星 · 资源好评率100%
可以使用循环遍历字符串s中的每个字符,判断是否为大写字母,如果是则将其转换为前一个字母。可以使用ASCII码表进行转换,大写字母的ASCII码范围是65~90,前一个字母的ASCII码就是该字母的ASCII码-1。具体实现代码如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string s;
getline(cin, s); // 输入字符串,包括空格
for (int i = 0; i < s.length(); i++) {
if (s[i] >= 'A' && s[i] <= 'Z') { // 判断是否为大写字母
s[i] = s[i] - 1; // 转换为前一个字母
if (s[i] < 'A') // 处理转换后成为非字母的情况
s[i] = 'Z';
}
}
cout << s << endl; // 输出转换后的字符串
return 0;
}
```
需要注意的是,转换后的字符可能会成为非字母字符,需要特殊处理。
阅读全文