专栏文章

题解:P11019 「LAOI-6」[太阳]] 请使用最新版手机 QQ 体验新功能

P11019题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minxoa4x
此快照首次捕获于
2025/12/02 10:02
3 个月前
此快照最后确认于
2025/12/02 10:02
3 个月前
查看原文

前置知识

你需要了解基本字符串操作。

思路讲解

通过读题和观察样例可知,我们需要找到被 [] 包裹的字符串,并提取所有大写字母,转为小写后输出。
那么如何找到被包裹的字符串呢?我们考虑遍历字符串,如果当前字符是大写,就转小写并加入答案,如果是 ],就退出遍历。

代码展示

此处提供两种语言的题解,首先是 C++ 版本:
CPP
#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,注意遍历时要将字符串转换为列表:
PYTHON
s=input().split(']')[0] # 分割

print('/',end='') # 输出 /
for i in list(s): # 转为列表并遍历
    if i.isupper(): # 是大写
        print(i.lower(),end='') # 转小写后输出
这样这道题就写完了,祝你好运。

评论

0 条评论,欢迎与作者交流。

正在加载评论...