蓝桥杯摩尔斯电码
来源:互联网 发布:上海通用维修编程系统 编辑:程序博客网 时间:2024/05/01 02:40
问题描述
摩尔斯电码破译。类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文。请不要使用”zylib.h”,只能使用标准库函数。用’ * ‘表示’ . ‘,中间空格用’ | ‘表示,只转化字符表。
摩尔斯码定义见:http://baike.baidu.com/view/84585.htm?fromId=253988。
提示
清橙进行评测时,输入是以EOF结尾的,而不是换行符。(EOF不是一个字符,“以EOF结尾”是一种通俗但不严谨的说法。)因此可以通过以下方式之一获取输入:
1. 一次读入整行字符串,再进行后续解析。
2. 使用getchar或scanf一次读入一个字符,通过它们的返回值判断输入结束。
样例输出
思路
将字符串以 ‘|’ 为间隔拆分成多个子串,再进行匹配
代码
#include<stdio.h>#include<string.h>int main(){ char A[4]="*-",B[4]="-***",C[4]="-*-*",D[4]="-**", E[4]="*", F[4]="**-*",G[4]="--*" ,H[4]="****", I[4]="**",J[4]="*---",K[4]="-.-",L[4]="*-**", M[4]="--",N[4]="-*", O[4]="---",P[4]="*--*", Q[4]="--*-",R[4]="*-*",S[4]="***",T[4]="-", U[4]="**-",V[4]="***-",W[4]="*--",X[4]="-**-", Y[4]="-*--",Z[4]="--**"; char str[1000]; int i; gets(str); for(i=0;i<strlen(str);i++){ int j=0; char subStr[4]; while(str[i]!='|'&&str[i]!='\0'){ subStr[j++]=str[i++]; } subStr[j]='\0'; if(strcmp(subStr,A)==0) printf("a"); if(strcmp(subStr,B)==0) printf("b"); if(strcmp(subStr,C)==0) printf("c"); if(strcmp(subStr,D)==0) printf("d"); if(strcmp(subStr,E)==0) printf("e"); if(strcmp(subStr,F)==0) printf("f"); if(strcmp(subStr,G)==0) printf("g"); if(strcmp(subStr,H)==0) printf("h"); if(strcmp(subStr,I)==0) printf("i"); if(strcmp(subStr,J)==0) printf("j"); if(strcmp(subStr,K)==0) printf("k"); if(strcmp(subStr,L)==0) printf("l"); if(strcmp(subStr,M)==0) printf("m"); if(strcmp(subStr,N)==0) printf("n"); if(strcmp(subStr,O)==0) printf("o"); if(strcmp(subStr,P)==0) printf("p"); if(strcmp(subStr,Q)==0) printf("q"); if(strcmp(subStr,R)==0) printf("r"); if(strcmp(subStr,S)==0) printf("s"); if(strcmp(subStr,T)==0) printf("t"); if(strcmp(subStr,U)==0) printf("u"); if(strcmp(subStr,V)==0) printf("v"); if(strcmp(subStr,W)==0) printf("w"); if(strcmp(subStr,X)==0) printf("x"); if(strcmp(subStr,Y)==0) printf("y"); if(strcmp(subStr,Z)==0) printf("z"); } return 0;}
阅读全文
0 0
- 蓝桥杯摩尔斯电码
- 摩尔斯电码
- 摩尔斯电码
- 摩尔斯电码
- 摩尔斯电码 — 摩尔斯密码
- 摩尔斯电码a-z
- 摩尔斯电码[摩斯密码]
- 摩尔斯电码(Morse code)
- 摩尔斯电码---学习软件
- 艺多不压身—摩尔斯电码
- 摩尔斯电码快速记忆
- 摩尔斯电码练习感想
- 摩尔斯电码Mrose[C++]
- 蓝桥杯 摩尔斯电码破译 树上的搜索
- 蓝桥杯-9-3摩尔斯电码(java)
- 蓝桥杯算法提高 9-3摩尔斯电码
- 蓝桥杯 ADV-226 算法提高 9-3摩尔斯电码
- 蓝桥杯 算法提高 9-3摩尔斯电码 ADV-226
- python SyntaxError: Non-ASCII character '\xe4' in file
- Kotlin可以拯救Java程序员,但Java9程序员不用!
- 动态规划--01背包问题
- 【笔记+模板】 数论
- 4.面向对象三大特征:封装、继承、多态。
- 蓝桥杯摩尔斯电码
- 面向对象中(重点)之object类的使用
- linux命令学习总结
- 软件工程第二次实验
- CodeForces
- Java EE SDK和JDK的区别-
- 心之所向,百炼成钢 第一章
- 字符串的排列
- forTokens:JSTL核心标签库的用法