分类：电脑/网络-软件
问题：c语言编写莫尔斯码,帮帮忙啊,速回莫尔斯码是塞缪尔莫尔斯在198 
莫尔斯码是塞缪尔莫尔斯在1982年为电报发明的。莫尔斯给每个字母、数字及特殊字符（如句号，逗号，冒号和分号）赋予一组点划线。在面向声音的系统中，点代表了短声音，划代表长声音。点和划还用于面向光的系统和信号旗系统中。文字间的间隔表示为一个空格，即既不填写点也不填写划。在面向声音的系统中，空格表示一个短暂的停顿，其间什么声音也没有。莫尔斯码的国际版本书上P288页：编程一程序要求界面采用菜单形式，编写一函数从指定文件中读取一篇文章，用莫尔斯码对它编码，并保存到另一文件中。再编定另一函数，读取一个用莫尔斯码表示的文章，然后把它转换为等价的英语，并莫尔斯码是塞缪尔莫尔斯在1982年为电报发明的。莫尔斯给每个字母、数字及特殊字符（如句号，逗号，冒号和分号）赋予一组点划线。在面向声音的系统中，点代表了短声音，划代表长声音。点和划还用于面向光的系统和信号旗系统中。文字间的间隔表示为一个空格，即既不填写点也不填写划。在面向声音的系统中，空格表示一个短暂的停顿，其间什么声音也没有。莫尔斯码的国际版本书上P288页：编程一程序要求界面采用菜单形式，编写一函数从指定文件中读取一篇文章，用莫尔斯码对它编码，并保存到另一文件中。再编定另一函数，读取一个用莫尔斯码表示的文章，然后把它转换为等价的英语，并保存到另一文件中。
回答：/*转摩尔斯码*/#include<stdio.h>       main()    {char a[26][6]={{'.','-'},{'-','.','.','.'},{'-','.','-','.'},{'-','.','.'},           {'.'},{'.','.','-','.'},{'-','-','.'},{'.','.','.','.'},           {'.','.'},{'.','-','-','-'},{'-','.','-'},{'.','-','.','.'},           {'-','-'},{'-','.'},{'-','-','-'},{'.','-','-','.'},           {'-','-','.','-'},{'.','-','.'},{'.','.','.'},{'-'},           {'.','.','-'},{'.','.','.','-'},{'.','-','-'},{'-','.','.','-'},           {'-','.','-','-'},{'-','-','.','.'}};       int i,m;char str[100];       char c;       gets(str);       printf("%s",str);     for (i=0;(c=str[i])!='\0';i++)     if(c==' ') printf("   ");     else     printf("%s",a[m=str[i]-97]),printf(" ");   printf("\n");   getchar();   }/*摩尔斯码转英文*/#include<stdio.h>    #include<string.h>       main()    {char a[26][6]={{'.','-'},{'-','.','.','.'},{'-','.','-','.'},{'-','.','.'},           {'.'},{'.','.','-','.'},{'-','-','.'},{'.','.','.','.'},           {'.','.'},{'.','-','-','-'},{'-','.','-'},{'.','-','.','.'},           {'-','-'},{'-','.'},{'-','-','-'},{'.','-','-','.'},           {'-','-','.','-'},{'.','-','.'},{'.','.','.'},{'-'},           {'.','.','-'},{'.','.','.','-'},{'.','-','-'},{'-','.','.','-'},           {'-','.','-','-'},{'-','-','.','.'}};       int b,i,m;char str[100],k;       char c,*p,t[6];       gets(str);       printf("%s",str);       p=str;       while(*p!='\0')       {     i=0;     b=0;     k=0;     while(*p!=' '&&*p!='\0')     {       t[i++]=*p;       p++;     }     t[i]='\0';     while(strcmp(a[k++],t)!=0);     c=k-1+97;     putchar(c);     while(*p==' ') {b++;p++;}     if(b==3) printf(" ");       }   getchar();   return(0);   }其他的不懂