A : 摩斯密码

article/2025/8/20 4:52:26
 

题目描述:

摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。为了简单问题,去除所有的标点符号。

现在给你一段摩斯密码,请你把它们进行解密

输入

 

含有T(T<=20)组数据,每组数据包含一段摩斯密码(由字符 '.' '-' 以及 空格组成,连续空格个数不超过两个),每段占一行(不超过1000字符),现在请你对他们进行解密;

输出

 

输出对应的解密后的结果(所有解密结果如果是英文字母一律输出小写英文字母),保证结果仅包含 数字 空格 字母。

样例输入

5
..
. .
. ..
.  ..
..  .-.. --- ...- .  -.-- --- ..-

样例输出

i
ee
ei
e i
i love you

解题思路:

就是一个模拟题, 考虑好空格的个数,然后将字母和数字代表的摩斯密码存到一个二维数组里

代码:

# include <stdio.h>
# include <string.h>char a[1001];
int c;
char b[30][10] = {".-", "-...", "-.-.", "-..", ".", "..-.", 
"--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", 
".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", 
"-.--", "--.."};  // 存字符A - Zchar b1[15][10] = {"-----", ".----", "..---", "...--", "....-", 
".....", "-....", "--...", "---..", "----."};     //存数字0 - 9int main(void)
{int t, d, i, j, q, k;char a1[10];   // 存要比较的字符串scanf("%d", &t);getchar();while (t --){memset(a1, 0, sizeof(a1));  //每次的初始化gets(a);d = strlen(a);c = 0;for (i = 0; i < d; i ++){if (a[i] != ' '){a1[c ++] = a[i];}else{if (c == 5)  //数字的密码都是5位的。{for (j = 0; j <= 10; j ++){if (strcmp(a1, b1[j]) == 0){q = j;break;}}printf("%d", q);if (a[i+1] == ' ')   //判断后一位是不是‘ ’, 如果是要输出一个空格{printf(" ");i = i+1;}}else   // 判断字符{for (j = 0; j <= 26; j ++){if (strcmp(a1, b[j]) == 0){q = j;break;}}printf("%c", q+97);  // 转化为小写的if (a[i+1] == ' '){printf(" ");i = i+1;}}c = 0;memset(a1, 0, sizeof(a1));}}	 if (c == 5)  //判断最后一个  和for循环里面的是一样的、{for (i = 0; i <= 10; i ++){if (strcmp(a1, b1[i]) == 0){q = i;break;}}printf("%d", q);}else{for (i = 0; i <= 26; i ++){if (strcmp(a1, b[i]) == 0){q = i;break;}}printf("%c", q+97);}printf("\n");}return 0;
}

 

http://chatgpt.dhexx.cn/article/waEyDBeF.shtml

相关文章

摩斯密码

摩斯密码&#xff0c;很多人肯定都听说过它的大名。但是多数人不了解它&#xff0c;认为这是个神一样的领域&#xff0c;难以企及。 但是我要告诉你&#xff0c;你如果想用这个密码日常聊天有些难&#xff0c;但是学两手来秀两手还是可以的。 比如说电影中经常出现的一个摩斯…

摩斯电码/密码入门简介

摩尔斯&#xff1a;是我们生活中非常常见的一种密码形式&#xff0c;例如电报就用的是这个哦 什么是摩尔斯电码&#xff1a; 摩斯电码是一种用于交流的系统&#xff0c;由塞缪尔•莫尔斯发明&#xff0c;它依靠一系列的点和划来传递编码信息。虽然&#xff0c;最初它被设计为…

摩尔斯电码(摩斯电码)

摩尔斯电码 简介电码对照表应用互译工具特殊符号常见缩写交流示例中文与摩斯电码 简介 摩尔斯电码&#xff08;又译为摩斯密码&#xff0c;Morse code&#xff09;是一种时通时断的信号代码&#xff0c;通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837…

没错,我是高端吃瓜玩家(搞懂摩斯密码)

前言 大家好&#xff0c;我是bigsai大赛哥&#xff0c;好久不见&#xff0c;甚是想念。 行了&#xff0c;咱们步入正轨&#xff0c;已经进入2022&#xff0c;在2021这一年&#xff0c;很多人的快乐消遣是在吃瓜快乐中度过的&#xff0c;有的作为主动吃瓜群众第一手掌握消息&…

摩斯密码是什么?

摩斯密码是什么&#xff1f; 摩斯密码&#xff08;摩尔斯电码&#xff09;是一种时通时断的信号代码&#xff0c;通过不同的排列顺序来表达不同的英文字母、数字和标点符号&#xff1b;它的代码包括五种&#xff1a; 点、划、点和划之间的停顿、每个字符之间短的停顿、每个词之…

为什么很多人吐槽谭浩强的C语言程序设计?

这个观点在网络上已经论战了很长时间&#xff0c;出现这种情况还是历史遗留问题&#xff0c;老谭出的C语言教材几乎是国内的第一版&#xff0c;由于中英翻译问题或者对编程文化理解的差异性导致出来的书多多少少存在一些纰漏。不能只是记住其缺点&#xff0c;老谭书最主要在那个…

谭浩强老师C语言第五版第六章(上)

第3、7题难在了数学思路上&#xff08;不会或理解不了私信&#xff09; 仅代表个人看法 如有错误请指正 题目1&#xff1a;用筛选法求100 之内的素数。 代码如下&#xff1a; #include <stdio.h> #include <math.h> int main() { int i, j, n, a[101]; …

第1章 引论 - 数据结构与算法分析 c语言描述

前言&#xff1a;此类型的文章皆为本人在阅读此书后给出的关于此书的理解&#xff0c;以及知识的梳理复习。若对文章有不解之处&#xff0c;或者文章有错欢迎评论区留言。 1.1 本书讨论的内容 有一组N个数&#xff0c;要找出其中第k个最大者&#xff0c;我们称之为选择问题(se…

谭浩强老师C语言第五版第五章(上)

本文涉及字符宽度&#xff0c;暂不做讲解&#xff0c;不懂留言 仅代表个人看法 如有侵权请说明 题目1&#xff1a;请画出例 5.6 中给出的3个程序段的流程图。 程序如下1、 #include <stdio.h> int main() { int i, j, n 0; for (i 1; i < 4; i) …

谭浩强C语言程序设计(1-3章代码学习)

谭浩强C语言程序设计 参考书 C语言学习笔记记录&#xff0c;学习为主&#xff0c;新手小白入门 我所用的C语言在线编译器&#xff1a;lightly在线编译工具 可新建工程 谭浩强C语言程序设计书籍所包含的代码示例加注释说明如下&#xff1a; /*笔记记录者&#xff1a;xy;学习教…

谭浩强C语言第九章知识总结

第九章 shyu 结构体&#xff1a;用户自定义的数据类型 如&#xff1a;在描述一个学生的相关信息时&#xff0c;需要整型变量来记录学号&#xff0c;字符数组来记录名字&#xff0c;等等&#xff0c;物品们可以通过定义结构体改变变量的数据类型&#xff0c;把这些信息整成一…

谭浩强C语言第七章知识总结

第七章 定义函数 定义没有参数的函数&#xff0c; 类型名 函数名&#xff08;&#xff09; 类型名 函数名&#xff08;void&#xff09; { { 函数体 或 函数体 } …

C语言 谭浩强 题目 -第六章

文章目录 笔记字符数组字符数组输出字符串处理函数输入字符串的函数 gets&#xff08;&#xff09;字符串连接函数--strcat字符串赋值函数--strcpy字符串比较函数---strcmp测字符串长度的函数--strlen转换为大小写的函数 EG 1EG 2EG 3 排序 冒泡排序 不用函数EG 4EG 5EG 6EG 7E…

C语言 谭浩强 题目 -第八章

文章目录 笔记通过指针引用数组用数组名作函数参数以变量名和数组名作为函数参数的比较 例题【例8.2】【例8.6】【例8.3】【例 8.4】【例 8.5】【例 8.6】【例8.7】【例8.8】【例8.9】【例 8.10】选择法起泡法 【例 8.11】【例 8.12】【例 8.13】【例8.30】 用指向数组的指针作…

C语言 谭浩强 题目 -第七章

文章目录 笔记函数参数函数调用返回值函数的嵌套函数的递归数组作为函数参数多维数组名作函数参数局部变量和全局变量全局变量 变量的存储方式和生存期自动变量(auto变量)static静态局部变量寄存器变量(register变量) 全局变量在一个文件内扩展外部变量的作用域将外部变量的作用…

【C语言】谭浩强

1.分支选择结构 #include<stdio.h> int main(){ char grade; scanf(“%c”,&grade); printf(“Your score:”); switch(grade) { case’A’:printf(“85~100\n”);break; case’B’:printf(“70~84\n”);break; case’C’:printf(“60~69\n”);break; case’D’:prin…

C语言 谭浩强第五版 课后习题解答

第一章 1.什么是程序?什么是程序设计? 程序&#xff1a;就是一组能识别和执行的指令&#xff0c;每一条指令使计算机执行特定的操作 程序设计&#xff1a;是指从确定任务到得到结果、写出文档的全过程 2.为什么需要计算机语言?高级语言有哪些特点? 为什么需要计算机语言&am…

谭浩强c语言课后习题(更新中)

1.第三章 纯代公式题 #include<stdio.h>int main() {float p1.07; //第一年倍数for (int i 1; i < 10; i) //只用循环了9次&#xff0c;因为是从第一年开始{p p * 1.07;}printf("%f%%%",p*100); }第2题也是代进公式即可 其实也是代给出的公式&#xff0…

C语言学习笔记(C程序设计-谭浩强)

入门&#xff1a; 计算机程序&#xff1a; 一组计算机能够识别和执行的指令。计算机的每一个操作都是根据指令进行的&#xff0c;计算机的一切操作都是由程序控制的 计算机指令&#xff1a;指挥机器工作的指示和命令。 指令包含操作码和操作数&#xff0c;操作码决定要完成的…

清风数学建模笔记--熵权法

是一种可以客观赋权的方法&#xff08;我们可以从数据中查看权重&#xff09; 依据的原理&#xff1a;指标的变异程度越小&#xff0c;所反映的信息量也越少&#xff0c;其对应的权值也应该越低。 本文借鉴了数学建模清风老师的课件与视频&#xff0c;如果大家发现文章中有不正…