1 条题解
-
0
解题思路 判断字符类型:使用 isupper() 函数区分大写字母和小写字母。
处理大写字母:直接输出其 ASCII 码(通过 int(c) 转换)。
处理小写字母:通过 ASCII 码差值转换为大写字母(小写字母比大写字母大 32)。
代码实现
#include <iostream> using namespace std; int main() { char c; cin >> c; // 读取输入的字符 if (isupper(c)) { // 大写字母:输出 ASCII 码 cout << int(c); } else { // 小写字母:转换为大写字母后输出 cout << char(c - ('a' - 'A')); } return 0; }代码解析 字符读取:cin >> c 读取输入字符,题目保证输入合法。
大写字母处理:
isupper(c) 判断是否为大写字母。
int(c) 将字符转换为对应的 ASCII 码值输出。
小写字母处理:
通过 c - ('a' - 'A') 计算差值。例如,'a' - 'A' 等于 32,c 减去 32 即可得到对应的大写字母。
char(...) 将结果转换为字符类型输出。
关键点 ASCII 码转换:利用小写和大写字母的 ASCII 码差值为 32 的特性,直接通过算术运算转换。
类型转换:使用 int() 和 char() 显式控制输出类型,确保结果符合题目要求。
- 1
信息
- ID
- 159
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 10
- 标签
- 递交数
- 5
- 已通过
- 3
- 上传者