题解 | #首字母大写#
首字母大写
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个空格
}
}
