c语言 摩斯密码问题 在线等,急

c语言 摩斯密码问题 在线等,急,第1张

az[26[5] 是编码表,你要校对一下,我只是快速拍入,给你示意。

程序第一部分是 英文到莫码输出。英文只考虑了小写。悄旦

(大写转小写你可以用 -'A'+'a', 下标为

printf("%s",az[s1[0]-'A'])

for (i=1i<Li++) printf("|%s",az[s1[i]-'A'])

)

程序第洞运弯2部分是莫码到纳闷英文小写。

#include <stdio.h>

#include <stdlib.h>

char az[26][5]={

"*-","-***","-*-*","-**",

"*","**-*","--*","****",

"**","*---","-*-*","*-**",

"--","-*","---","*--*",

"--*-","*-*","***","-",

"**-","***-","*--","-**-",

"-*--","--**"}

char toA(char *s){

int i

for (i=0i<26i++) if (strcmp(&az[i][0],s)==0) return i+'a'

printf("wrong input code: %s\n",s)

}

int main(){

char s1[80]="moses"

char s2[80]

int i,j,L

L=strlen(s1)

printf("%s",az[s1[0]-'a'])

for (i=1i<Li++) printf("|%s",az[s1[i]-'a'])

printf("\n")

// Part2:

printf("please input ****|*|*-**|*-**|---\n")

scanf("%[^|]",s1)

printf("%c",toA(s1))

while (scanf("|%[^|,'\n']",s1)==1) {

printf("%c",toA(s1))

}

}

翻译如下:who understand me,中文翻译为:谁理解我?

摩尔斯电码是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它陪祥敬发明于1837年,发明者有争议,是美国人塞缪尔·莫尔斯或者艾尔菲德·维尔。

摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个字符之间短的停顿、每个词之间中等的停顿以及句子之间长的停顿。

扩展资料:

摩斯密码应用:

1、摩斯密码编码简单清晰,二义性小,编码主要是由两个字符表示:"."、"-",一长一短,这在很多情况下应用很多,比如发送求救信号。

2、在利用摩尔密码灯光求救的时候,定义:灯光长亮为"-",灯光短亮为".",那么就可以通过手电筒的开关来发送各种信息,例如求救信息。

3、如果灯光是按照“短亮 暗 短亮 暗 短亮 暗 长亮 暗 长亮芦慎 暗 长亮 暗 短亮 暗 短亮 暗 短亮”这个规律来显示的话那么它就意味是求救信号SOS。

4、因为SOS的摩尔编码为:··· --- ··· ,按照上面的规定即可进行灯光编码。这个编码其实非常简单,三短、三长、三短。

5、除了灯光之外,利用声音也可以发出求救信号。这种求救方式是我们都应该进行了解的,也许在必要的时候就可以派上用场。

参宴李考资料来源:百度百科-摩尔斯电码


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8271302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存