输入明文字符串输出摩斯密码的c语言
时间: 2023-07-30 10:05:12 浏览: 195
以下是将明文字符串转换为摩斯密码的C代码:
```c
#include <stdio.h>
#include <string.h>
char* morseCode(char c) {
switch(c) {
case 'a':
case 'A':
return ".-";
case 'b':
case 'B':
return "-...";
case 'c':
case 'C':
return "-.-.";
case 'd':
case 'D':
return "-..";
case 'e':
case 'E':
return ".";
case 'f':
case 'F':
return "..-.";
case 'g':
case 'G':
return "--.";
case 'h':
case 'H':
return "....";
case 'i':
case 'I':
return "..";
case 'j':
case 'J':
return ".---";
case 'k':
case 'K':
return "-.-";
case 'l':
case 'L':
return ".-..";
case 'm':
case 'M':
return "--";
case 'n':
case 'N':
return "-.";
case 'o':
case 'O':
return "---";
case 'p':
case 'P':
return ".--.";
case 'q':
case 'Q':
return "--.-";
case 'r':
case 'R':
return ".-.";
case 's':
case 'S':
return "...";
case 't':
case 'T':
return "-";
case 'u':
case 'U':
return "..-";
case 'v':
case 'V':
return "...-";
case 'w':
case 'W':
return ".--";
case 'x':
case 'X':
return "-..-";
case 'y':
case 'Y':
return "-.--";
case 'z':
case 'Z':
return "--..";
case '0':
return "-----";
case '1':
return ".----";
case '2':
return "..---";
case '3':
return "...--";
case '4':
return "....-";
case '5':
return ".....";
case '6':
return "-....";
case '7':
return "--...";
case '8':
return "---..";
case '9':
return "----.";
case ' ':
return "/";
default:
return "";
}
}
int main() {
char s[100];
printf("请输入明文字符串:\n");
fgets(s, 100, stdin);
s[strcspn(s, "\n")] = 0; // 去掉输入字符串的换行符
int len = strlen(s);
printf("摩斯密码为:\n");
for(int i = 0; i < len; i++) {
char* code = morseCode(s[i]);
printf("%s ", code);
}
printf("\n");
return 0;
}
```
在上述代码中,我们使用了 `switch` 语句来将每个字母和数字映射到其对应的摩斯密码。最后,我们通过循环遍历输入的字符串,将每个字符转换为摩斯密码并输出。
阅读全文