题解:P11019 「LAOI-6」[太阳]] 请使用最新版手机 QQ 体验新功能
前置知识
你需要了解基本字符串操作。
思路讲解
通过读题和观察样例可知,我们需要找到被 [] 包裹的字符串,并提取所有大写字母,转为小写后输出。
那么如何找到被包裹的字符串呢?我们考虑遍历字符串,如果当前字符是大写,就转小写并加入答案,如果是 ],就退出遍历。
代码展示
此处提供两种语言的题解,首先是 C++ 版本:
#include <bits/stdc++.h>
using namespace std;
int main(){
string s; // 定义字符串
cin >> s; // 读入
string ans="/"; // 准备好存答案的字符串
for(int i=1;i<s.length();i++){ // 遍历,注意可以直接跳过首个字符,即 [
if(s[i]==']'){
break; // 退出遍历
}else if('A'<=s[i] && s[i]<='Z'){ // 如果是大写
ans += s[i]-'A'+'a'; // 转小写存到答案
}
}
cout << ans; // 输出答案
return 0; // 完结撒花!
}
接下来,我们考虑使用 Python,注意遍历时要将字符串转换为列表:
s=input().split(']')[0] # 分割
print('/',end='') # 输出 /
for i in list(s): # 转为列表并遍历
if i.isupper(): # 是大写
print(i.lower(),end='') # 转小写后输出
这样这道题就写完了,祝你好运。