输入 4 行字符,每行不超过 80 个字符,将空格符后的第一个英文字母改为大写(原为 大写字母的则保持不变)
时间: 2024-02-09 08:11:01 浏览: 68
你可以使用以下C++代码实现此功能:
```c++
#include <iostream>
#include <cstring>
#include <cctype>
using namespace std;
int main() {
char str[4][81]; // 声明一个二维字符数组,存储输入的字符串
for (int i = 0; i < 4; i++) {
cin.getline(str[i], 81); // 读取一行字符串
int len = strlen(str[i]); // 获取字符串长度
bool flag = true; // 标记是否已经修改过字母
for (int j = 0; j < len; j++) {
if (isspace(str[i][j])) {
flag = true; // 遇到空格,将标记重新设为true
} else if (isalpha(str[i][j]) && flag) {
str[i][j] = toupper(str[i][j]); // 将第一个英文字母改为大写
flag = false; // 修改完毕,将标记设为false
}
}
cout << str[i] << endl; // 输出修改后的字符串
}
return 0;
}
```
在上面的代码中,我们首先声明了一个二维字符数组`str`,用于存储输入的四行字符串。然后使用`cin.getline()`函数逐行读取字符串,并使用`strlen()`函数获取字符串长度。接下来,我们使用一个`flag`变量来标记是否已经修改过字母。对于每个字符,如果遇到空格,就将`flag`重新设为`true`;如果遇到英文字母并且`flag`为`true`,就将该字母改为大写,并将`flag`设为`false`。最后,使用`cout`语句输出修改后的字符串。
阅读全文