例题描述
从C/C++
转到Java
的程序员,一开始最不习惯的就是变量命名方式的改变。C
语言风格使用下划线分隔多个单词,例如“hello_world”
;
而Java
则采用一种叫骆驼命名法的规则:除首个单词以外,所有单词的首字母大写,例如“helloWorld”
。
请你帮可怜的程序员们自动转换变量名。
-
输入描述:
输入包含多组数据。
每组数据一行,包含一个C
语言风格的变量名。每个变量名长度不超过100
-
输出描述:
对应每一组数据,输出变量名相应的骆驼命名法。
示例1:
- 输入:
hello_world
nice_to_meet_you
- 输出:
helloWorld
niceToMeetYou
解题思路
正常思路解:
- 遇到
_
就直接跳过。 - 如果上一个字符是
_
,则下一个字符转大写字母。
代码实现
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
while (cin >> s){
for (int i = 0; i < s.size(); ++i){
// 1. 遇到 _ 就直接跳过
if (s[i] == '_') continue;
// 2. 如果上一个字符是 _ 则下一个字符转为大写字母
if (i > 0 && s[i - 1] == '_') cout << (char)toupper(s[i]);
else cout << s[i];
}
cout << endl;
}
return 0;
}