NOI / 1.字符串【13:将字符串中的小写字母转换成大写字母】

该博客介绍了如何使用C++编程语言将字符串中的小写字母转换为大写字母。通过创建char类型数组,利用cin.get()读取数据,遍历数组并检查每个字符是否为小写字母,如果是,则将其ASCII码减去32以转换为大写字母,最后输出转换后的数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### OpenJudge 平台 010 题目详情及解法 #### 题目描述 在OpenJudge平台上,编号为NOI 1.7 10的题目名为《简单密码》。该题目的核心在于字符串处理以及ASCII码的应用[^1]。 #### 考察知识点 此题目主要考察两个方面: - **ASCII码**:了解字符与其对应的数值之间的转换关系。 - **字符串操作**:掌握如何遍历、修改字符串中的每一个字符。 #### 解决方案概述 对于这个问题,解决方案涉及读取给定的加密消息并按照特定规则对其进行解密。具体来说,就是通过调整字母的位置来实现编码或解码过程。由于涉及到大小写英文字母的不同处理方式,因此需要分别考虑大写字母小写字母的情况,并利用它们各自的ASCII范围来进行适当偏移。 #### Python 实现代码 下面提供了一个Python程序作为参考解答: ```python def decode_message(encoded_str, shift): decoded_chars = [] for char in encoded_str: ascii_val = ord(char) if 'A' <= char <= 'Z': new_char = chr((ascii_val - ord('A') - shift) % 26 + ord('A')) elif 'a' <= char <= 'z': new_char = chr((ascii_val - ord('a') - shift) % 26 + ord('a')) else: new_char = char decoded_chars.append(new_char) return ''.join(decoded_chars) if __name__ == "__main__": n = int(input()) results = [] while n > 0: line = input().strip() result_line = decode_message(line, 3) results.append(result_line) n -= 1 for res in results: print(res) ``` 这段代码实现了对输入字符串按指定位移量进行凯撒密码式的解密工作。这里假设每次都是向左移动三个位置(即减去3),这可以根据实际需求灵活调整。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值