题解 | #首字母大写#
首字母大写
https://www.nowcoder.com/practice/91f9c70e7b6f4c0ab23744055632467a
#include <iostream> #include <string> #include <cstdio> using namespace std; int main(){ char str2[102] = {0}; string str1; while(getline(cin,str1)){ //在最开始加1个空格,用来统一对单词的检查条件 str1 = ' '+ str1; for(int i = 0;i<str1.size();i++){ str2[i] = str1[i]; } for(int i = 0;i<str1.size();i++){ //这里单词的检查条件不只1个,读题要仔细 if(str2[i]==' '||str2[i]=='\t'||str2[i]=='\r'||str2[i]=='\n'){ if('a'<=str2[i+1] && str2[i+1]<='z'){ //基础语法,1<2<3要用&& //大小写转换,ascii大写字母在小写字母后面 str2[i+1] = str2[i+1]+'A'-'a'; } } } //为了用c++风格字符串的函数,再把str2赋值回str1 str1 = str2; int n = str1.size()-1; cout<< str1.substr(1,n); //用字符截取函数,实现排除最开始加的第1个空格 } }