这是一个简易的英文字符串转摩斯编码程序:
#include <stdio.h>
#include <string.h>char *code[] = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-",".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."};void translate1(char *x, int n)
{printf("莫斯编码后:\n");for(int i = 0; i < n; i++){if(x[i] >= 'a' && x[i] <= 'z'){printf("%s ", code[(int)x[i] - 'a']);}else{printf("%c ", x[i]);}}
}int main()
{int len = 0;char str[1001] = {0};char c;printf("请输入小写英语语句\n");while( (c = getchar())!= '\n'){str[len++] = c;}translate1(str, len);return 0;
}
可以将小写英语语句转换成对应的莫斯编码
使用while循环读入每一个字符并判断是不是换行,然后使用数组储存英文文本,调用函数translate1,转换并打印对应英文文本的莫斯编码