用C语言编写下面介绍的程序。很有趣哦!

来源:百度知道 编辑:UC知道 时间:2024/07/07 16:54:17
1844年5月,Samuel F.B.Morse 用电报从美国的华盛顿发送了一条消息“What hath God wrought !”美国的巴尔的摩,从此开创了电子通信的新纪元。为了使这种通信方式只需要使用一种音符的有无就可以进行,Morse设计了一种编码系统。在这种编码系统中,字母和其他的字符分别用长短不一的编码系列来实现,我们通常称之为点和横,在Morse编码系统中,字母表中的26个字母是用如下方法表示的:
A . - J . - - - S …
B - . . . K - . - T –
C - . - . L . - . . U . . –
D - . . M - - V. . . –
E . N - . W . - -
F . . - . O - - - X - . . –
G - - . P . - - . Y - . - -
H . . . . Q - - . - Z - - . .
I . . R . - .

我们很容易在程序中声明一个含有26个元素的数组.存储26个字母的Morse码。
写一个程序,从用户处输入一个字符串,将字符串中每个字母转换成相应的Morse码,用句号表示点,用破折号表示横。用换行符来表示单词之间的空格,而忽略其中的其他标点符号。你的程序应该产生下列运行示例:

注:请同学们好好的思考一下。

#include "stdio.h"
#include "ctype.h"
void myDelay( int iSecond );
void Translate( char letter, char *CodeStr );
void printMorse(char *CodeStr) ;
struct MCode
{
char letter;
char CodeStr[27];
};
struct MCode myMCode[27];
main()
{
int i;
char InputStr[256];
char PrintCodeStr[27];

myMCode[0].letter = 'A';
strcpy(myMCode[0].CodeStr, ".-");

myMCode[1].letter = 'B';
strcpy(myMCode[1].CodeStr, "-...");

myMCode[2].letter = 'C';
strcpy(myMCode[2].CodeStr, "-.-.");

myMCode[3].letter = 'D';
strcpy(myMCode[3].CodeStr, "-..");

myMCode[4].letter = 'E';
strcpy(myMCode[4].CodeStr, ".");

myMCode[5].letter = 'F';
strcpy(myMCode[5].CodeStr, "..-.");

myMCode