题解 | #首字母大写#

首字母大写

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个空格
    }
}

全部评论

相关推荐

07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务