两种题解(十分的简单)
2025-08-01 17:55:32
发布于:江西
26阅读
0回复
0点赞
---------------------------------------------防-透-视-----------------------------------------------
---------------------------------------------防-透-视-----------------------------------------------
我的其中一种方法用了c++中cctype头文件的自带函数。
多此一举,直接加减就行。
选自某一本讲c++的书,名字我忘了。

#include<bits/stdc++.h>
using namespace std;
int main(){
char c;
cin>>c;
if(c>='a' && c<='z'){
cout<<char(toupper(c));
//小写变大写
}else{
cout<<char(tolower(c));
//大写变小写,不是大写就不变
}
return 0;
}
这时有一些聪明的人类说,为什么要用char(),因为它fw这个函数返回的是ASCII值,而不是字母。

#include<bits/stdc++.h>
using namespace std;
int main(){
char c;
cin>>c;
if(c>='a' && c<='z'){
cout<<char(c-32);
//小写减32变大写
}else if(c>='A' && c<='Z'){
cout<<char(c+32);
//大写加32变小写
}else{
cout<<c;
//啥都不是直接输出
}
return 0;
}
这个最普通,运用了ASCII值的计算和if条件。
点个赞吧,我真的需要,求求啦~
全部评论 2
其实可以打表
#include<cstdio> constexpr char map[128]={ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40, 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60, 61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109, 110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93, 94,95,96,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81, 82,83,84,85,86,87,88,89,90,123,124,125,126,127 }; int main(void){ std::fputc(map[std::fgetc(stdin)],stdout); }2026-07-31 来自 广东
1给个赞吧,求求啦。
2025-07-15 来自 江西
1T^T
2025-07-15 来自 江西
1










有帮助,赞一个