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='