问题描述
1136: 首字母变大写
时间限制: 1 Sec 内存限制: 128 MB
提交: 12235 解决: 7048
题目描述
输入一个只包含大小写英文字母和空格的句子,将每个单词的第一个字母改成大写字母。
输入
输入一个长度不超过100的英文句子。
输出
请输出按照要求改写后的英文句子。
样例输入 Copy
i like ACM
样例输出 Copy
I Like ACM
代码注释
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
getline(cin, str);
int first = 1;
for(auto it = begin(str); it != end(str); it++) {
// if,else 要配好对,加好花括号
if(*it >= 'a' && *it <= 'z' || *it >= 'A' && *it <= 'Z') {
// toupper 后的结果要赋值给参数本身
if(first == 1) *it = toupper(*it), first = 0;
}
else first = 1;
}
for(auto ch : str) {
cout << ch;
}
return 0;
}
总结
好好刷 oj ,这一次又暴露了很多细节上的问题,排除了好几颗 雷!!!