最近在学习摩斯密码。
我找到了这个
人工对照比较麻烦,何尝不用程序实现呢?
//一年没摸了,写写水题= =
#include
#include
#include
#include
#define N 10
#define M 100
using namespace std;
char mosi[N],key[M][N],trans[M];
void def(){
trans[1]='a';strcpy(key[1],".-");
trans[2]='b';strcpy(key[2],"-...");
trans[3]='c';strcpy(key[3],"-.-.");
trans[4]='d';strcpy(key[4],"-..");
trans[5]='e';strcpy(key[5],".");
trans[6]='f';strcpy(key[6],"..-.");
trans[7]='g';strcpy(key[7],"--.");
trans[8]='h';strcpy(key[8],"....");
trans[9]='i';strcpy(key[9],"..");
trans[10]='j';strcpy(key[10],".---");
trans[11]='k';strcpy(key[11],"-.-");
trans[12]='l';strcpy(key[12],".-..");
trans[13]='m';strcpy(key[13],"--");
trans[14]='n';strcpy(key[14],"-.");
trans[15]='o';strcpy(key[15],"---");
trans[16]='p';strcpy(key[16],".--.");
trans[17]='q';strcpy(key[17],"--.-");
trans[18]='r';strcpy(key[18],".-.");
trans[19]='s';strcpy(key[19],"...");
trans[20]='t';strcpy(key[20],"-");
trans[21]='u';strcpy(key[21],"..-");
trans[22]='v';strcpy(key[22],"...-");
trans[23]='w';strcpy(key[23],".--");
trans[24]='x';strcpy(key[24],"-..-");
trans[25]='y';strcpy(key[25],"-.--");
trans[26]='z';strcpy(key[26],"--..");
trans[27]='0';strcpy(key[27],"-----");
trans[28]='1';strcpy(key[28],".----");
trans[29]='2';strcpy(key[29],"..---");
trans[30]='3';strcpy(key[30],"...--");
trans[31]='4';strcpy(key[31],"....-");
trans[32]='5';strcpy(key[32],".....");
trans[33]='6';strcpy(key[33],"-....");
trans[34]='7';strcpy(key[34],"--...");
trans[35]='8';strcpy(key[35],"---..");
trans[36]='9';strcpy(key[36],"----.");
trans[37]='.';strcpy(key[37],".-.-.-");
trans[38]=':';strcpy(key[38],"---...");
trans[39]=',';strcpy(key[39],"--..--");
trans[40]=';';strcpy(key[40],"-.-.-.");
trans[41]='?';strcpy(key[41],"..--..");
trans[42]='=';strcpy(key[42],"-...-");
trans[43]='X';strcpy(key[43],".----.");
trans[44]='/';strcpy(key[44],"-..-.");
trans[45]='!';strcpy(key[45],"-.-.--");
trans[46]='-';strcpy(key[46],"-....-");
trans[47]='_';strcpy(key[47],"..--.-");
trans[48]='"';strcpy(key[48],".-..-.");
trans[49]='(';strcpy(key[49],"-.--.");
trans[50]=')';strcpy(key[50],"-.--.-");
trans[51]='$';strcpy(key[51],"...-..-");
trans[52]='&';strcpy(key[52],"....");
trans[53]='@';strcpy(key[53],".--.-.");
}
int main(){
def();
while(scanf("%s",mosi))
{
for (int i= 1;i <=53;i++)
if(strcmp(mosi,key[i])==0) {cout<break;}
}
return 0;
}