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

——M1__ 's Blog / 2024-12-19 / 原文

模拟,字符串。

题目思路

就是找到输入字符串 ] 前面的字符大写的字母,然后将其转成小写,在加上 / 即可。
对于判断一个字母是不是大写字母,我们可以不用打出 \(A-Z\)\(26\) 个字符,而是通过比较 ASCII 码来实现。
我们知道 \(A\) 的 ASCII 码是 \(65\),而 \(Z\) 的 ASCII 码为 \(90\),所以我们只需判断字母 \(b_i\) 是不是满足 \(65 \le b_i \le 90\),然后转成小写字母就可以了。
注意转成小写字母时要转成 char 类型,否则输出的就是整数类型的了。

代码实现

#include<bits/stdc++.h>
using namespace std;
int main(){
	string a,b;
	cin>>a;
	cout<<"/";
	for(int i=1;i<=a.size();i++){
		b[i]=a[i];
		if(a[i]==']') break;
		if(b[i]>=65&&b[i]<=90) cout<<char(b[i]+32);
	}
	return 0;
}