题解 | #首字母大写#
首字母大写
https://www.nowcoder.com/practice/91f9c70e7b6f4c0ab23744055632467a
找特殊字符位置,第一个位置额外处理,写于2024。3.20
#include <iostream> #include <algorithm> #include <cstring> #include <cmath> using namespace std; int main() { int n, i, pos; string str, a, b; getline(cin, str); if (str[0] >= 'a' && str[0] <= 'z') str[0] = str[0] - 'a' + 'A'; // 处理首字符 // while ((pos = str.find(' ')) != string::npos || (pos = str.find('\t')) != string::npos || (pos = str.find('\n')) != string::npos || (pos = str.find('\r')) != string::npos) // 找到空格位置 // { // str[pos] = '*'; // 把空格替换成* // str[pos + 1] = str[pos + 1] - 'a' + 'A'; // } // while ((pos = str.find('*')) != string::npos) // { // str[pos] = ' '; // } for (i = 0; i < str.size(); i++) { if (str[i] == ' ' || str[i] == '\t' || str[i] == '\r' || str[i] == '\n') if (str[i + 1] >= 'a' && str[i + 1] <= 'z') str[i + 1] = str[i + 1] - 'a' + 'A'; } cout << str; return 0; }