列表

详情


NC23643. 骆驼拼写法

描述

在英语中,依靠单词的大小写拼写复合词的做法,叫做"骆驼拼写法"(CamelCase)。比如,backColor这个复合词,back第一个字母b为小写,color的第一个字母为大写。

这种拼写法在正规的英语中是不允许的,但是在编程语言和商业活动中却大量使用。比如,sony公司的畅销游戏机PlayStation,play和station两个词的词首字母都是大写的。

"骆驼拼写法"又分为两种。第一个词的首字母小写,后面每个词的首字母大写,叫做"小骆驼拼写法"(lowerCamelCase);第一个词的首字母,以及后面每个词的首字母都大写,叫做"大骆驼拼写法"(UpperCamelCase),又称"帕斯卡拼写法"(PascalCase)。

它之所以被叫做"骆驼拼写法",是因为大小写的区分使得复合词呈现"块状"(bump),看上去就像骆驼的驼峰(hump)。

这种变量命名方法非常适合于编程时的变量命名。

现在给你N行单词,要求你把每行单词按照小骆驼拼写法的规则进行拼写,然后输出

输入描述

第一行一个数字N(0<N<100),表示行数,之后有N行。

每行有不定数目的单词,以空格分隔。

每个单词由不定长度的英文字母(A~Z,a~z)组成

输出描述

N行,表示输出

示例1

输入:

4
user name
pass word
get message from HTTP response 
find minimum path

输出:

userName
passWord
getMessageFromHttpResponse
findMinimumPath

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 2ms, 内存消耗: 292K, 提交时间: 2023-03-15 10:54:27

#include<stdio.h>
#include<string.h>
int main(){
	int N;
	char s[1000];
	int i;
	scanf("%d\n",&N);
	while(N--){
		gets(s);
		for(i=0;i<strlen(s);i++){
			if(s[i]==' '&&s[i+1]>='a'&&s[i+1]<='z')
			    s[i+1]-=32;
			if(s[i]>='A'&&s[i]<='Z'&&s[i-1]!=' ')
			    s[i]+=32;
		}
		for(i=0;i<strlen(s);i++)
		    if(s[i]!=' ') printf("%c",s[i]);
		printf("\n");
	}
}

C++11(clang++ 3.9) 解法, 执行用时: 3ms, 内存消耗: 376K, 提交时间: 2020-09-27 00:00:49

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s;
	int N;
	cin>>N;
	getchar();
	while(getline(cin,s))
	{
		for(int i=0;i<s.size();i++)
		{
			s[i]=tolower(s[i]);
			if(s[i]==' ')
			{
				i++;
				printf("%c",toupper(s[i]));
			}
			else
			cout<<s[i];
		}
		cout<<endl;
	}
}

Python3(3.5.2) 解法, 执行用时: 25ms, 内存消耗: 3428K, 提交时间: 2019-03-16 13:20:22

n=int(input())

for _ in range(0,n):
    s=input()
    s=s.title()
    s=s.replace(' ','')
    s0=chr(ord(s[0])+32)
    print(s0+s[1:])

上一题