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

· · 题解

1. 思路

首先阅读题目可简化知:

1. 要先将“[]]” 里的数提取出来。

2. 然后再将其中的大写字母单独分离。

3. 最后将大写字母转小写,依题目要求输出。

2. 程序编写

由于输入第一个就是“[” 故而我们要从第二个开始,依次遍历,直到碰到“]]” 停止。所以我们可以使用 while 循环遍历。

又因为要减小时间复杂度,故我们将判断大小写,输出也整合进去。就得到了代码。

接下来是喜闻乐见的 AC 程序:

AC 程序:

#include<bits/stdc++.h>
using namespace std;
string s,k;
long long a,i,j;
int main(){
    getline(cin,s);//输入
    a=s.length();//获取长度
    i=1;//初始指针
    cout<<"/";
    while(s[i-1]!=']'&&s[i]!=']'){ //遍历
        if(int(s[i])<97){//判断并输出
            cout<<char(s[i]+32);
        }
        i++;
    }
    return 0;
}

编写不易,希望能给各位提供帮助,大家留个赞再走求求了。

求管理员过审,先拜谢一下。