#4365. C++ L17 命名法转换
C++ L17 命名法转换
C++ L17 命名法转换(30分)
题目名称:命名法转换
题目描述:
帕斯卡命名法指当标识符是由两个或两个以上单词连在一起构成时,每个单词只有首字母大写,其它字母都是小写。
例如:GateWidth、RoadLength、UserName、TotalCost、UserBalance
下划线命名法是将多个单词使用下划线来连接(单词都为小写字母)。
例如:
gate_width、road_length、user_name、total_cost、user_balance
现在给定若干个符合帕斯卡命名法的标识符,请你按照以下规则编写程序将它们转换成符合下划线命名法的名称。
规则:
- 在帕斯卡命名标识符中所有大写字母前加一个下划线(除首字母);
- 再将帕斯卡命名标识符中所有大写字母转为小写字母。
例如:GateWidth转换为gate_width,RoadLength 转换为road_length,UserName转换为user_name,TotalCost转换为total_cost,UserBalance转换为user_balance
输入:
一个字符串,包含若干个标识符,标识符之间以一个空格隔开,总长度不超过500。
题目数据保证符合:
- 标识符仅包含英文字母
- 组成标识符的单词数量不小于2,单词长度介于2~10之间
- 标识符数量不超过50
输出:
一个字符串,表示将所有给定的标识符转换为下划线命名法的结果。相邻两个标识符之间以一个空格分隔。
输入样例:
GateWidth RoadLength
输出样例:
gate_width road_length
Limitation
1s, 1024KiB for each test case.