parzulpan

题目描述

对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。 在字符串中,单词之间通过空白符分隔,空白符包括:空格(\' \')、制表符(\'\t\')、回车符(\'\r\')、换行符(\'\n\')。

输入描述:

输入一行:待处理的字符串(长度小于100)。

输出描述:

可能有多组测试数据,对于每组数据,
输出一行:转换后的字符串。
示例1

输入

if so, you already have a google account. you can sign in on the right.

输出

If So, You Already Have A Google Account. You Can Sign In On The Right.





/*
程序设计思路:常规题,不过要注意一些特殊测试用例。
*/
#include<iostream>
using namespace std;
#include<string>
 
int main(){
    string s;
    bool flag=true;
    while(getline(cin,s)){
        for(int i=0;i<s.size();i++){
            if(s[i]<=\'z\' && s[i]>=\'a\' && flag){
                s[i]-=32;
                flag=false;
            }
            else if (s[i] == \' \' || s[i] == \'\t\' || s[i] == \'\r\' 
                    || s[i] == \'\n\' || s[i] == \',\'|| s[i] == \'.\'){
                flag=true;
                continue;
            }
            else{   //这步是为了通过这样的情况 hfauhfu2faf 2fa 2afa
                flag=false;
                continue;
            }
        }
        cout<<s<<endl;
    }
}

 

分类:

技术点:

相关文章: