中易网

怎么用c++编摩斯电码的翻译程序啊...求教!

答案:1  悬赏:0  
解决时间 2021-03-21 09:47
就是能把字母,数字,符号用“.”“-”互译的
以字母与字母之间隔一个空格,单词与单词之间隔三个空格的方式输入来翻译,求教,急!拜托大家了,快的话会有追加分数> <
最佳答案
输入摩斯电码 翻译出 英文,只能识别英文字母, 字母间隔一个空格,单词间隔三个空格 输入摩斯电码

#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;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
护花危情南宫绝小说222章
卷皮折扣app如何联系卖家? 卷皮折扣买东西可
螺旋输送机的用途
我想和你一起去拍套婚纱照,一起去我们曾经走
恩施新天地木槿花自助餐多少钱一人
十陵到海亮彩悦府售楼部怎么走最近
dnf女鬼剑转职为什么只有两个
clean up的同义词
福祺道鱼火锅地址在哪,我要去那里办事
起亚k2下雪天性能怎么样
青岛最便宜的敬老院一月大概多少钱,各种费用
谁是中国水溶肥十大品牌
去韩国买3ce化妆品是多少钱
椒盐小土豆的家常做法
山东建筑涂料公司有哪些比较好?口碑如何呢?
推荐资讯
ie浏览器一般把下载后的文件放到哪里?
新街口到奥体烟波鱼港如何开车?
盛昌装饰设计中心怎么去啊,我要去那办事
怎样才能不烦劳
泰州市姜堰区城中公园南门地址在什么地方,想
有英语二还需要考学位英语么?
失业金没领完又开始交保险对自己有什么影响吗
村民五边地是什么
日照好玩的地方有哪些?
520和525区别,还有5系性价比那个高?
燃气热水器断电通气用冷水浪费气吗?
电脑上的耳机孔拆下来怎么接线
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?