Advertisement

上海计算机学会2021年5月月赛C++丙组T3驼峰与蛇

阅读量:

驼峰与蛇

内存限制: 256 Mb时间限制: 1000 ms

题目描述

有两种命名变量的方法:

  • 采用驼峰命名法时,其核心特征是将每个单词的首字母均大写,并且直接相连而不加空格分隔符。
  • 例如 MyFirstName 这样的标识符即为典型的驼峰命名体例。
  • 而蛇形命名法则遵循每个单词全部小写字母的原则。
  • 其具体表现形式如 my_first_name 等等。

给定一个用驼峰法命名的名字,请将它转成蛇形命名法的形式。

输入格式

一个字符序列,由英文字母组成,保证第一个字符大写。

输出格式

一个字符序列:表示用下划线分割后的结果。

数据范围

设 ∣s∣ 表示输入序列的长度:

  • 对于 30%30% 的数据,有 1≤∣s∣≤100;
  • 对于 60%60% 的数据,有 1≤∣s∣≤5,000;
  • 对于 100%100% 的数据,有 1≤∣s∣≤100,000。
样例数据

输入:
HowAreYou
输出:
how_are_you
输入:
Good
输出:
good

解析:详见代码

复制代码
 #include <bits/stdc++.h>

    
 using namespace std;
    
 string s;
    
 int main() {
    
     cin>>s;
    
     for (int i = 0; i < s.length(); i++) {
    
     if (isupper(s[i])){//判断是否为大写字母
    
         if (i!=0)//除首字母,前边都加下划线
    
             cout<<'_';
    
         s[i]=s[i]-'A'+'a';//换成小写
    
     }
    
     cout<<s[i];//输出
    
     }
    
     return 0;
    
 }

全部评论 (0)

还没有任何评论哟~