ACM-字符串 安卓命名规则(字符串处理)

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代码:

 #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')
                {
                    /*if(cnt==0)
                    {
                        cout<<"_";
                        cnt=1;
                    }*/
                    cout<<"_";
                }
                else if(a[i]>='a'&&a[i]<='z')
                {
                    cnt=1;
                    printf("%c",a[i]-32);
                }
                /*else
                {
                    cnt=1;
                    printf("%c",a[i]);
                }*/
            }
            cout<<endl;
        }
        else if(a[0]=='m')
        {
            cnt=0;
            for(i=7;i<len;i++)
            {
                if(a[i]==' ')
                {
                    //cnt=1;
                }
                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]==' ')
                {
                    //cnt=1;
                }
                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;
} 

发布了42 篇原创文章 · 获赞 26 · 访问量 9612

猜你喜欢

转载自blog.csdn.net/qq_41464123/article/details/82870462
今日推荐