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:])