题解 P5704

· · 题解

这种入门的题目……

话不多说,进入正题::::

首先我们要知道,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;
}