下面是一个简单的C语言程序,用于将摩斯电码转换为文字消息,你可以参考这个示例代码进行编程:
#include <stdio.h>
#include <string.h>
void morseCodeToText(char morseCode[]) {
char *morseAlphabet[26] = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."};
char *alphabet = "abcdefghijklmnopqrstuvwxyz";
int i, j;
char *code;
for (i = 0; i < strlen(morseCode); i++) {
if (morseCode[i] == ' ' && morseCode[i+1] == ' ') {
printf(" ");
i++;
} else if (morseCode[i] == ' ') {
printf(" ");
} else {
code = strtok(morseCode + i, " ");
i += strlen(code) - 1;
for (j = 0; j < 26; j++) {
if (strcmp(code, morseAlphabet[j]) == 0) {
printf("%c", alphabet[j]);
break;
}
}
}
}
}
int main() {
char morseCode[] = "- .... . / .-.. --- .-- / -- --- .-. ... . / -.-. --- -.. .";
morseCodeToText(morseCode);
return 0;
}
这个程序会将摩斯电码 "- .... . / .-.. --- .-- / -- --- .-. ... . / -.-. --- -.. ." 转换为文字消息 "the low morse code"。你可以根据需要修改 morseCode
变量以转换不同的摩斯电码。