7-5 字符串字母大小写转换 7-5 字符串字母大小写转换 分数 15 作者 颜晖 单位 浙大城市学院 本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。 输入格式: 输入为一个以“#”结束的字符串(不超过30个字符)。 输出格式: 在一行中输出大小写转换后的结果字符串。 输入样例: Hello World! 123# 输出样例: hELLO wORLD! 123
时间: 2025-03-20 22:21:51 浏览: 100
这是一个经典的字符串处理问题,通常用于练习编程语言中的字符操作功能。以下是对此题目的分析及解决方案:
### 解决思路
我们需要逐一遍历输入字符串中的每个字符,并判断其是否为字母:
1. 如果是小写字母,则将其转换为对应的大写字母;
2. 如果是大写字母,则将其转换为对应的小写字母;
3. 对于非英文字母的字符(如数字、标点等),保持原样。
此外需要注意的是,“#”作为终止标志并不需要出现在最终输出的结果中。
#### 实现步骤
- 使用循环读取用户输入直到遇到 '#' 结束。
- 检查每一个读入的字符:
- 若它是小写英文字母(a-z),则转为其相应的大写字母(A-Z)。
- 若它是大写英文字母(A-Z), 则转为其相应的小写字母(a-z).
- 其余情况直接保留该字符。
- 最终将修改过的字符组合成新的字符串并打印出来,但不包括最后的‘#’.
下面是伪代码表示:
```plaintext
初始化空结果字符串 result = ""
对于 输入流 中的每一个字符 ch:
如果 ch == '#':
停止循环
如果 'a' <= ch <= 'z': // 小写转大写
添加 (ch - 32) 到 result
否则如果 'A' <= ch <= 'Z':// 大写转小写
添加 (ch + 32) 到 result
否则:
直接添加 ch 至 result
输出result
```
此算法时间复杂度 O(n),其中 n 表示输入长度减一(因为忽略最后一个'#')。
### 示例解析
以题目提供的例子为例:"Hello World! 123#", 我们按照规则逐一替换得到 "hELLO wORLD! 123" 并排除掉末端多余的标记'#'.
---
**注意**: 编程实践中可以利用标准库函数简化上述过程,在Python中比如使用`str.swapcase()`即可轻松完成任务;但在其他一些低级语言里可能就需要手动进行ASCII码运算来达到同样效果了。
阅读全文
相关推荐


















