舞句
算法描述
- 舞句的定义:第一个字母为大写,后面的每个字母遵循以下规律:前一个字母为大写,则该字母为小写;前一个字母为小写,则该字母为大写
- 当计算字母大小写时,空格忽略
- 例如,”A b Cd”是舞句
- 输入中你将得到一个句子sentence,请将该sentence转换成一个”舞句”,原句中所有的空格必须保留
参数定义
- 类名
DancingSentence
- 方法
makeDancing
- 输入参数
string
- 输出
string
- 方法声明
string makeDancing(string sentence)
限制条件
- sentence包含[1,50]个元素
- sentence中的每个字符都在[‘A’-‘Z’,’a’-‘z’]之间,或者是一个空格
- sentence至少包含[‘A’-‘Z’,’a’-‘z’]中的一个字母
例子
- 输入
- sentence: “This is a dancing sentence”
- 输出
- ”ThIs Is A dAnCiNg SeNtEnCe”
测试实例
实例一
- 输入
- sentence: “This is a dancing sentence”
- 输出
- ” ThIs Is A dAnCiNg SeNtEnCe “
- 输入
实例二
- 输入
- ”aaaaaaaaaaa”
- “AaAaAaAaAaA”
- 输出
- ”AaAaAaAaAaA”
- 输入
实例三
- 输入
- ”z”
- 输出
- ”Z”
- 输入
代码
#include <iostream>
#include <string>
using namespace std;
// -------------- start of solution ------------
class DancingSentence {
public:
string makeDancing(string sentence) {
bool UpOrLower = true;
for(int i=0;i<sentence.length();i++) {
if(' '!= sentence[i]) {
if(UpOrLower)
sentence[i] = toupper(sentence[i]);
else
sentence[i] = tolower(sentence[i]);
UpOrLower = !UpOrLower;
}
}
return sentence;
}
};
// -------------- end of solution --------------
int main() {
DancingSentence ds;
string sentence = "ABDW ds DGW DWEG";
string ret = ds.makeDancing(sentence);
cout << ret << endl;
cout.flush();
}