C++ 大小写转换 - Today At AntDock 2020年8月20日
今天分享一篇我想了半天的题目的题解,真是学到了!
来源:https://www.luogu.com.cn/problem/solution/P5704
感谢 @zhn0707 的分享。原文见下:
这种入门的题目……
话不多说,进入正题::::
首先我们要知道,C++字符的所有转换形式都是依照ASCII码来的。
所以,我们只需要找到规律:小写字母=大写字母+32,则大写字母=小写字母-32
由此可得……
#include<iostream>
using namespace std;
int main(){
char a; //创建字符型变量
cin>>a; //小写输入
cout<<char(a-32);//注意要用char进行强制转换,否则输出的就是整数类型的了
return 0;
}
补充方法:
这种方法在我写代码的时候灵光一闪,想起了老师教我们的cctype函数,于是……
#include<iostream>
#include<cctype>
#include<cstdio>
using namespace std;
int main(){
char a;
cin>>a;
putchar(toupper(a));//putchar输出一个字符(相当于强制转换char),toupper则是将小写字母大写对应ASCII码输出出来
return 0;//我是不怎么习惯用return 0的
}
如果要简化版,那……
#include<cctype>
#include<cstdio>
int main(){
putchar(toupper(getchar()));
return 0;
}