题解:P11019 「LAOI-6」[太阳]] 请使用最新版手机 QQ 体验新功能
Hacker_Zcat · · 题解
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;
}
编写不易,希望能给各位提供帮助,大家留个赞再走求求了。
求管理员过审,先拜谢一下。