2025年2月8日笔记

解题思路:

1.因为题中让我们大小写转换,所以要想到ASCLL码大小写的差

    ASCLL码表:

ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符
0NUT32(space)64@96
1SOH33!65A97a
2STX34"66B98b
3ETX35#67C99c
4EOT36$68D100d
5ENQ37%69E101e
6ACK38&70F102f
7BEL39,71G103g
8BS40(72H104h
9HT41)73I105i
10LF42*74J106j
11VT43+75K107k
12FF44,76L108l
13CR45-77M109m
14SO46.78N110n
15SI47/79O111o
16DLE48080P112p
17DCI49181Q113q
18DC250282R114r
19DC351383S115s
20DC452484T116t
21NAK53585U117u
22SYN54686V118v
23TB55787W119w
24CAN56888X120x
25EM57989Y121y
26SUB58:90Z122z
27ESC59;91[123{
28FS60<92\124|
29GS61=93]125}
30RS62>94^126`
31US63?95_127DEL

           即大小写差为32 (例:97-65)

2.因为是字母转换,所以声明变量时要用到char字符型变量

3.cout输出A+32就是小写字母a的数值

3.因为需要把A加上32后的结果再强制转换成字符型,所以要在A+32前加一个char强制转换

程序:

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
char a;
cin>>a;
cout<<char(a+32);
return 0;
}
 

漏洞:

因为代码中没有判断输入的字符是否为大写字母,所以加上32可能会输出一些不可打印的字符或者不符合需求的字符

增加判断后的程序:

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
char a;
cin>>a;
if(a>='A' and a<='Z'){     //判断a是否为大写字母
cout<<char(a+32);
}
else return 0;
return 0;
}

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值