- 按行读取。
- 对于字符串第一个字符,直接判断是否需要大写;
- 遍历后续字符,遇到特殊字符时,对特殊字符的下一个字符进行判断;同时输出当前读到的字符。
#include <iostream> using namespace std; int main() { string str; while(getline(cin,str)){ if('a'<=str[0]&&str[0]<='z') str[0]='A'+str[0]-'a'; for(int i=0;i<str.length();i++){ if(str[i]==' '||str[i]=='\t'||str[i]=='\n'){ if('a'<=str[i+1]&&str[i+1]<='z') str[i+1]='A'+str[i+1]-'a'; } cout<<str[i]; } } return 0; }