#include <iostream> using namespace std; int main() { string str; getline(cin, str); int flag = 0; //flag=0,表示当前遇到了空格或其他字符,若下一次遇到字母,直接变成大写就可以 for (int i = 0; i < str.length(); i++) { if ('a' <= str[i] && str[i] <= 'z') { //是小写字母 if (flag == 0) { if(('0'<=str[i-1]&&str[i-1]<='9'||'a' <= str[i-1] && str[i-1] <= 'z')&&i>0) continue; str[i] = str[i] - 32; //a是97,A是65,小写转大写减32 flag = 1; } } if (str[i] == ' ' || str[i] == '\t' || str[i] == '\r' || str[i] == '\n' || str[i] == ',' || str[i] == '.') { flag = 0; } } cout << str; } // 64 位输出请用 printf("%lld")