Loading

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;
}
posted @ 2020-08-20 17:26  张哲涵  阅读(188)  评论(1编辑  收藏  举报