详细题解
2026-05-28 21:34:11
发布于:四川
9阅读
0回复
0点赞
在做之前,要想到思路:读取字符串的每一位,判断,然后输出
首先框架:
#include<iostream>
using namespace std;
int main(){
return 0;
}
为了减少时间,我们可以用cin.peek(),意思是:只读取不存储。
格式为:
#include<iostream>
using namespace std;
int main(){
while(cin.peek() != -1){//只要读取到字符就判断
}
return 0;
}
判断+输出:
#include<iostream>
using namespace std;
int main(){
while(cin.peek() != -1){
if(cin.peek() >= 'A' && cin.peek() <= 'Z') cout << char(cin.peek() + 32);
else cout << char(cin.peek());
}
return 0;
}
但cin.peek()不回移动光标,所以还要用一个cin.get():
#include<iostream>
using namespace std;
int main(){
while(cin.peek() != -1){
if(cin.peek() >= 'A' && cin.peek() <= 'Z') cout << char(cin.peek() + 32);
else cout << char(cin.peek());
cin.get();
}
return 0;
}
最终代码:
#include<iostream>
using namespace std;
int main(){
while(cin.peek() != -1){
if(cin.peek() >= 'A' && cin.peek() <= 'Z') cout << char(cin.peek() + 32);
else cout << char(cin.peek());
cin.get();
}
return 0;
}
全部评论 1
- 置顶
非常简单
2026-05-28 来自 四川
1







有帮助,赞一个