1 条题解
-
0
C
说明
本题要求将输入的小写字母转换为对应的大写字母输出。核心逻辑基于ASCII码的特性:小写字母与对应的大写字母ASCII码值相差32(如'a'的ASCII码是97,'A'是65,97-32=65)。因此,只需将输入的小写字母的ASCII码减去32,即可得到对应的大写字母。
由于输入保证是小写字母(无需处理异常情况),直接进行转换即可,时间复杂度为O(1)。
代码
#include <stdio.h> int main() { char c; // 读取小写字母 scanf("%c", &c); // 小写转大写:ASCII码减32 char upper_c = c - 32; // 输出大写字母 printf("%c\n", upper_c); return 0; }C语言拓展知识
推荐搜索:ASCII码表中大小写字母的范围(小写a-z:97-122;大写A-Z:65-90)、字符在C语言中的存储本质(作为整数存储ASCII码)、字符算术运算的原理(直接对ASCII码进行加减)。
C++
说明
本题逻辑与C语言一致(利用ASCII码差值转换大小写),C++通过输入输出流处理字符,代码更简洁,无需格式控制符,直接对字符进行算术运算即可完成转换。
新知识
- 字符算术运算:
- 术语:
c - 32(小写字母转大写) - 解释:在C++中,字符变量本质上存储的是ASCII码(整数),因此可以直接进行算术运算。对于小写字母
c,减去32后得到对应大写字母的ASCII码,赋值给字符变量后会自动解析为对应字符。 - 对比:C和C++的字符运算规则相同,但C++的输入输出更直观,无需关注格式字符串。
- 术语:
AC
#include <bits/stdc++.h> using namespace std; int main() { char c; // 读取小写字母 cin >> c; // 转换为大写字母并输出 cout << (char)(c - 32) << endl; return 0; }C++拓展知识
推荐搜索:C++中
char类型的符号性(不同编译器的默认设置)、标准库函数toupper的使用(更通用的大小写转换方法)、字符常量与变量的区别(如'a'与char c = 'a')。 - 字符算术运算:
- 1
信息
- ID
- 369
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 4
- 标签
- 递交数
- 28
- 已通过
- 18
- 上传者