usaa20/a5/program.c

113 lines
2.0 KiB
C
Raw Normal View History

2020-12-02 10:05:00 +00:00
#include <stdio.h>
#include <string.h>
int letters_size = 26;
char letters[][6] = {
".-", //A
"-...", //B
"-.-.", //C
"-..", //D
".", //E
"..-.", //F
"--.", //G
"....", //H
"..", //I
".---", //J
"-.-", //K
".-..", //L
"--", //M
"-.", //N
"---", //O
".--.", //P
"--.-", //Q
".-.", //R
"...", //S
"-", //T
"..-", //U
"...-", //V
".--", //W
"-..-", //X
"-.--", //Y
"--..", //Z
};
int num_size = 10;
char numbers[][6] = {
"-----", //0
".----", //1
"..---", //2
"...--", //3
"....-", //4
".....", //5
"-....", //6
"--...", //7
"---..", //8
"----.", //9
};
void print_char(char word[])
{
if(strlen(word)==0)
{
return;
}
for(int i=0; i<letters_size; i++)
{
if(strcmp(word, letters[i])==0)
{
printf("%c", i+65);
return;
}
}
for(int i=0; i<num_size; i++)
{
if(strcmp(word, numbers[i])==0)
{
printf("%c", i+48);
return;
}
}
printf("#");
}
int main()
{
int size=0;
char word[20];
char c;
while(1)
{
if (scanf("%c", &c)==EOF)
{
word[size]=0;
print_char(word);
break;
}
if(c==' ')
{
word[size]=0;
print_char(word);
size=0;
}
else if(c=='/')
{
printf(" ");
}
else if(c=='\n')
{
if (size!=0)
{
word[size]=0;
print_char(word);
size=0;
}
printf("\n");
}
else
{
word[size]=c;
size++;
}
}
}