计算机考研复试真题 首字母大写
题目描述
对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。 在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\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; } }