1. 怎么用c++编摩斯电码的翻译程序啊...求教!
输入摩斯电码 翻译出 英文,只能识别英文字母, 字母间隔一个空格,单词间隔三个空格 输入摩斯电码
#include "stdio.h"
#include "conio.h"
#include "string.h"
int morseindex(const char *a);
int main(void)
{
int i, j, space;
char *p;
char buffer[1024];
char a[6];
gets(buffer);
p = buffer;
i = 0;
space = 0;
while(1)
{
if (*p == 32 || *p == '\0')
{
a[i] = '\0';
if (strlen(a) != 0)
{
j = morseindex(a);
if (j >= 0)
printf("%c", 'a' + j);
}
i = 0;
space++;
if (space == 3)
printf(" ");
}
else
{
a[i++] = *p;
space = 0;
}
if (*p == '\0')
break;
p++;
}
}
int morseindex(const char *a)
{
int i;
static char morsetable[26][5] = {{".-"}, {"-..."}, {"-.-."}, {"-.."}, {"."}, {"..-."}, {"--."}, {"...."}, {".."}, {".---"}, {"-.-"}, {".-.."}, {"--"}, {"-."}, {"---"}, {".--."}, {"--.-"}, {".-."}, {"..."}, {"-"}, {"..-"}, {"...-"}, {".--"}, {"-..-"}, {"-.--"}, {"--.."}};
for (i = 0; i < 26; i++)
{
if (strcmp(a, morsetable[i]) == 0)
{
return i;
}
}
return -1;
}
2. 如何将摩斯密码破解并翻译
将摩斯密码破解并翻译,首先要了解摩斯密码,然后打开浏览器,再通过网络搜索“摩斯密码翻译器”,最后复制的摩斯密码粘贴到这个框格里面。下面详细介绍:
1、首先需要了解摩斯密码是什么样子的,基本组成是由点dot(.)、划dash(-)两种符号组成。
注意事项:
1、要注意解摩斯密码的基本组成,其是由点dot(.)、划dash(-)两种符号组成。
2、其次网络搜索时要注意不要输入错误,最后复制粘贴的位置不要弄错就可以了。
3. 摩斯电码怎么翻译
摩斯电码翻译需要通过专门的摩斯密码翻译器来进行翻译,也可以借助摩斯密码翻译对照表来进行对照翻译。
1、摩斯密码翻译器:摩斯电码加密的字符只有字符,数字,标点,不区分大小写。本工具对其进行了扩展,使其支持编码、解码中文汉字(原理:将中文字符先转换为Unicode编码再进行摩斯电码转换)。
但是如遇解码失败,请确保长、短、分隔符设置正确。
2、摩斯密码翻译对照表:摩尔斯电码定义了包括:英文字母A-Z(无大小写区分)十进制数字0-9,以及“?”“/”“()”“-”“.”很适合英语的通信。至今仍有很多地方在使用。在业余无线电通信中,他是全世界运用统一的电码。
用摩斯密码表示"我爱你"是:
英文:i love you 翻译成摩尔斯密码就是 .. .-.. --- ...- . -.-- --- ..-。
拼音:wo ai ni 翻译成摩尔斯密码就是 .-- --- .- .. -. ..。
ascii编码:25105 29233 20320 翻译成摩尔斯密码就是 ..--- ..... .---- ----- ..... ..--- ----. ..--- ...-- ...-- ..--- ----- ...-- ..--- -----。
GBK码:ced2 b0ae c4e3 翻译成摩尔斯密码就是 -.-. . -.. ..--- -... ----- .- . -.-. ....- . ...--。
还有一个很重要的摩尔斯电码... --- ... 你一定要记住了,它是求救信号,通过远程表达方式:
求救方式一:发出声响,三段三长三段(... --- ...)莫尔斯电码。
求救方式二:灯光,如手电,三段三长三段(开关灯)。
4. c语言。输入一段英文(包含大小写,数字,标点),输出对应的摩斯电码。有A~Z。,/@1~9这些摩斯电码
5. 摩斯电码翻译是什么
摩斯电码翻译是翻译摩斯密码的。摩尔斯电码也被称作摩斯密码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。
它发明于1837年,是一种早期的数字化通信形式。不同于现代化的数字通讯,摩尔斯电码只使用零和一两种状态的二进制代码,它的代码包括五种:短促的点信号“・”,保持一定时间的长信号“—”,表示点和划之间的停顿、每个词之间中等的停顿,以及句子之间长的停顿。
摩斯密码其他情况简介。
国际摩斯电码直至今天还在被使用着,即使这几乎已经完全的成为了业余无线电爱好者的专利。然而一直到2003年,国际电信联盟(ITU)管理着世界各地的摩尔斯电码的熟练者才取得了业余无线电执照的工作。而业余无线电仍然被一些国家预留着,就是为了发送摩斯电码信号。
因为摩斯只是依靠一个平稳的不变调的无线电信号,所以它的无线电通讯设备比起其他方式的就会更加的简单,同时它还能在高噪声、低信号的环境中被使用。
6. 摩斯密码在线翻译 .━ ━ .... ━ ━ ━ ..━ ━ . ━ .. . .━ . ... ━ .━ ━ . ━
翻译如下:who understand me,中文翻译为:谁理解我?
摩尔斯电码是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年,发明者有争议,是美国人塞缪尔·莫尔斯或者艾尔菲德·维尔。
摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个字符之间短的停顿、每个词之间中等的停顿以及句子之间长的停顿。
(6)摩斯电码翻译c语言扩展阅读:
摩斯密码应用:
1、摩斯密码编码简单清晰,二义性小,编码主要是由两个字符表示:"."、"-",一长一短,这在很多情况下应用很多,比如发送求救信号。
2、在利用摩尔密码灯光求救的时候,定义:灯光长亮为"-",灯光短亮为".",那么就可以通过手电筒的开关来发送各种信息,例如求救信息。
3、如果灯光是按照“短亮 暗 短亮 暗 短亮 暗 长亮 暗 长亮 暗 长亮 暗 短亮 暗 短亮 暗 短亮”这个规律来显示的话那么它就意味是求救信号SOS。
4、因为SOS的摩尔编码为:··· --- ··· ,按照上面的规定即可进行灯光编码。这个编码其实非常简单,三短、三长、三短。
5、除了灯光之外,利用声音也可以发出求救信号。这种求救方式是我们都应该进行了解的,也许在必要的时候就可以派上用场。
参考资料来源:网络-摩尔斯电码
7. 莫尔斯码的c语言怎么编写啊
定义两个数组,一个是char *型,放A-Z,0-9的莫尔斯码,一个是char型,放'A'-'Z','0'-'9'.
原文转电码时,对每个字符查找其在第二个数组中的位置i,那么第一个数组中下标为i的就是对应的莫尔斯码.
电码转原文时,在第一个数组中用strcmp查找莫尔斯码,然后第二个数组中对应字符.
比如,放莫尔斯码的数组是char *morse[36],放原文的是char str[36],那么字符c转莫尔斯码就可以这样:
char *Char2Morse(char c)
{
for(int i=0;i<36;i++)
if(str[i]==c) return morse[i];
return NULL;
}
莫尔斯码转原文就是
char Morse2Char(char *m)
{
for(int i=0;i<36;i++)
if(strcmp(morse[i],m)==0) return str[i];
return 0;
}
8. 摩尔斯电码翻译
摩尔斯电码翻译表如图所示:
摩尔斯电码的表示方法:
其实有两种“符号”是用来表示字符的:那就是划和点,或分别叫嗒(Dah)和滴(Dit)或是长和短。而发报的速度是由点的长度来决定的,而且被当作是发报的时间参考。“-”表示划,“.”表示点。
划一般是三个点的长度;点划之间的间隔是一个点的长度;字符之间的间隔就是三个点的长度;而单词之间的间隔是七个点的长度。
(8)摩斯电码翻译c语言扩展阅读:
讯号传送接收方法:
注:通讯前一定要记得使用“开始”讯号“—・—・—”。
如果通讯途中发生错误,要先发出表示“错误”的讯号“・・・・・・”,再传递正确的讯号。
通讯结束时,一定要记得加上表示“结束”的讯号“・・・—・”。
1、传送讯号
将要传送的内容写在纸上;将摩尔斯电码加注在旁边;一边看原稿一边传递讯号。
2、接收讯号
准备纸笔,把讯号记录下来;每字之间的段落要特别注意,不能写错;最后将摩尔斯电码转换成文字。
9. c语言莫尔斯码 将字符串HappyNewYear2014译成Morse码(码间一空格,码表见下表)并在解密后输出以验证
#include<stdio.h>
#include<string.h>
#include<ctype.h>
charconst*constmorse_table[]=
{"._",//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
};
voidencodeMorse(char*d,constchar*s);
voiddecodeMorse(char*d,constchar*s);
intmain(void)
{
charstr1[1000],str2[1000];
encodeMorse(str1,"HappyNewYear2014");
puts(str1);
decodeMorse(str2,str1);
puts(str2);
return0;
}
voidencodeMorse(char*d,constchar*s)
{
*d='