c++编写程序实现morse code编码与解码。
时间: 2024-05-09 19:19:12 浏览: 139
sparse code 和 decode 的C++代码
5星 · 资源好评率100%
以下是一个简单的Python程序,实现了morse code编码和解码功能:
```python
# 定义morse code字典
morse_code = {
'A': '.-',
'B': '-...',
'C': '-.-.',
'D': '-..',
'E': '.',
'F': '..-.',
'G': '--.',
'H': '....',
'I': '..',
'J': '.---',
'K': '-.-',
'L': '.-..',
'M': '--',
'N': '-.',
'O': '---',
'P': '.--.',
'Q': '--.-',
'R': '.-.',
'S': '...',
'T': '-',
'U': '..-',
'V': '...-',
'W': '.--',
'X': '-..-',
'Y': '-.--',
'Z': '--..',
'0': '-----',
'1': '.----',
'2': '..---',
'3': '...--',
'4': '....-',
'5': '.....',
'6': '-....',
'7': '--...',
'8': '---..',
'9': '----.',
'.': '.-.-.-',
',': '--..--',
'?': '..--..',
"'": '.----.',
'!': '-.-.--',
'/': '-..-.',
'(': '-.--.',
')': '-.--.-',
'&': '.-...',
':': '---...',
';': '-.-.-.',
'=': '-...-',
'+': '.-.-.',
'-': '-....-',
'_': '..--.-',
'"': '.-..-.',
'$': '...-..-',
'@': '.--.-.'
}
# 定义编码函数
def encode(message):
encoded_message = ''
for char in message:
if char.upper() in morse_code:
encoded_message += morse_code[char.upper()] + ' '
else:
encoded_message += char
return encoded_message
# 定义解码函数
def decode(message):
decoded_message = ''
message += ' ' # 添加一个空格,以便处理最后一个字符
char_code = ''
for char in message:
if char == ' ':
for key, value in morse_code.items():
if value == char_code:
decoded_message += key
break
char_code = ''
else:
char_code += char
return decoded_message
# 测试编码和解码函数
message = input('请输入要编码的消息:')
encoded_message = encode(message)
print('编码后的消息:', encoded_message)
message = input('请输入要解码的消息:')
decoded_message = decode(message)
print('解码后的消息:', decoded_message)
```
使用示例:
```
请输入要编码的消息:HELLO WORLD
编码后的消息: .... . .-.. .-.. --- / .-- --- .-. .-.. -..
请输入要解码的消息:.... . .-.. .-.. --- / .-- --- .-. .-.. -..
解码后的消息:HELLO WORLD
```
注意,该程序只能处理给定的字符集,无法处理其他字符。如果需要处理其他字符,需要添加相应的morse code。
阅读全文