题目描述
给定一堆用空格隔开的英文单词,将每个单词的首字母改为大写后输出。
输入描述
一堆英文单词,每个单词不超过10个字符,且仅由小写字母组成;每两个单词之间用一个空格隔开,整个字符串的长度不超过1000。
输出描述
输出每个单词首字母大写后的结果,单词之间仍然是一个空格隔开,行末不允许有多余的空格。
样例1
输入
good good study
输出
Good Good Study
代码:
#include<iostream>
using namespace std;
int main(){
string str;
getline(cin,str);
str+=' ';
int i=0,j=0; //双指针,i标志单词首字符,j遍历指针
while(i<str.size()||j<str.size()){
while(str[j]!=' '&&j<str.size()) j++;
str[i]-=32; //转大写
i=++j;
}
str.erase(str.size()-1,1);
cout<<str<<endl;
}