1 条题解
-
0
📝 题目大意
给定一个仅包含小写英文字母的字符串 ,将其每个字符转换为对应的大写字母后输出。
💡 解题思路
- 题目分析: 只包含小写字母,长度 ,是非常简单的入门题。没有隐藏条件或陷阱。
- 算法推导:ASCII 码中,小写字母
'a'的值为 ,大写字母'A'的值为 ,两者相差 。因此只需遍历字符串 的每个字符 ,输出 即可得到对应的大写字母。标准代码中使用printf("%c", s[i] - 32)逐个输出字符。 - 边界与细节:输入保证全是小写字母,无需额外判断。也可以使用 C++ 标准库的
toupper()函数实现,但标准代码的方法更为直接。
⏱️ 复杂度分析
- 时间复杂度:,其中 为字符串长度,需要遍历每个字符。
- 空间复杂度:,仅使用一个字符串变量存储输入,无需额外空间。
💻 标准代码 (C++)
#include <bits/stdc++.h> using namespace std; int main () { string s; cin >> s; // 读入小写字母字符串 // 遍历每个字符,小写字母 ASCII 值比大写字母大 32,减去 32 即转换为大写 for (int i = 0; i < s.size(); i++) printf("%c", s[i] - 32); return 0; }
- 1
信息
- ID
- 689
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者