前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ACM刷题之路(七)字符串处理 记元培ACM院赛

ACM刷题之路(七)字符串处理 记元培ACM院赛

作者头像
Designer 小郑
发布2023-07-31 15:38:02
1690
发布2023-07-31 15:38:02
举报
文章被收录于专栏:跟着小郑学JAVA

2015年元培院赛 A 安卓命名规则

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte 总提交:320            测试通过:66

描述

最近在用安卓做毕业设计,用到的类名、方法名、变量名、常量名不下一百个,开始的时候哪里会在意这些命名的规则,拼音什么的都出现了,但随着名称的增加,都分不清哪些是方法名,哪些是变量名,所以规范的命名对代码的可读性起到了至关重要的作用。下面介绍一下命名规范: 1、类(classes):采用大驼峰命名,每个单词的首字母均应大写。如MainActivity 2、方法(methods):采用小驼峰命名法,除了第一个单词首字母为小写,其他单词的首字母均为大写。如setOnClickListener(); 3、变量(variables)采用小驼峰命名法。如lastCustomer; 4、常量(constants)全部大写,采用下划线命名法。如FLAG_START;

输入

输入多组测试数据,每组测试数据包含一行,每行有若干个单词组成,单词之间用空格隔开,单词字母都为小写字母,每组至少存在两个单词(一行的字符串总数不超过100个,每个字符串中的字符总数不多于100个),其中第一个单词表示需要命名的类型,而后面的单词则需要根据类型进行合并命名。

输出

每组测试数据后面输出一行,具体输出格式见输出样例。

样例输入

classes main activity methods set on click listener variables last customer constants flag start

样例输出

MainActivity setOnClickListener() lastCustomer FLAG_START

此题为元培2015院赛A题:

一共有四种要求,根据每种要求暴力就可以。

要注意最前面、最后面、单词中间可能有多个空格,且数组为100*100.

AC代码:

代码语言:javascript
复制
#include<iostream>
#include<string.h>
using namespace std;

char a[10002];
int main(){
    while (gets(a)){
        int len = strlen(a);
        int i, cnt = 0;
        if (a[0] == 'c' && a[1] == 'l'){
            for (i = 7; i < len; i++){
                if (a[i] == ' '){
                    cnt = 1;
                }
                else if (cnt == 1 && a[i] != ' '){
                    printf("%c", a[i] - 32);
                    cnt = 0;
                }
                else{
                    printf("%c", a[i]);
                }
            }
            cout << endl;
        }
        else if (a[0] == 'c'){
            cnt = 0;
            for (i = 10; i < len; i++){
                if (cnt == 1 && a[i] == ' ' && a[i + 1] <= 'z' && a[i + 1] >= 'a'){
                    cout << "_";
                }
                else if (a[i] >= 'a' && a[i] <= 'z'){
                    cnt = 1;
                    printf("%c", a[i] - 32);
                }
            }
            cout << endl;
        }
        else if (a[0] == 'm'){
            cnt = 0;
            for (i = 7; i < len; i++){
                if (a[i] == ' '){
                }
                else if (cnt == 0 && a[i] <= 'z' && a[i] >= 'a'){
                    cnt = 1;
                    printf("%c", a[i]);
                }
                else if (cnt == 1 && a[i - 1] == ' '){
                    printf("%c", a[i] - 32);
                }
                else
                    printf("%c", a[i]);
            }
            cout << "()" << endl;
        }
        else{
            cnt = 0;
            for (i = 10; i < len; i++){
                if (a[i] == ' '){
                }
                else if (cnt == 0 && a[i] <= 'z' && a[i] >= 'a'){
                    cnt = 1;
                    printf("%c", a[i]);
                }
                else if (cnt == 1 && a[i - 1] == ' '){
                    printf("%c", a[i] - 32);
                }
                else
                    printf("%c", a[i]);
            }
            cout << endl;
        }
    }
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2015年元培院赛 A 安卓命名规则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档