计算机考研复试真题 首字母大写

题目描述

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

输入描述:

输入一行:待处理的字符串(长度小于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] == '	' || s[i] == '
' 
                    || s[i] == '
' || s[i] == ','|| s[i] == '.'){
                flag=true;
                continue;
            }
            else{   //这步是为了通过这样的情况 hfauhfu2faf 2fa 2afa
                flag=false;
                continue;
            }
        }
        cout<<s<<endl;
    }
}
原文地址:https://www.cnblogs.com/parzulpan/p/9948653.html