Code:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
struct morse {
char letter;
char morseCode[6];
};
int main(int argc, char *argv[]) {
struct morse morse[36];
char input;
morse[0].letter='0';
strcpy(morse[0].morseCode,"-----");
morse[1].letter='1';
strcpy(morse[1].morseCode,".----");
morse[2].letter='2';
strcpy(morse[2].morseCode,"..---");
morse[3].letter='3';
strcpy(morse[3].morseCode,"...--");
morse[4].letter='4';
strcpy(morse[4].morseCode,"....-");
morse[5].letter='5';
strcpy(morse[5].morseCode,".....");
morse[6].letter='6';
strcpy(morse[6].morseCode,"-....");
morse[7].letter='7';
strcpy(morse[7].morseCode,"--...");
morse[8].letter='8';
strcpy(morse[8].morseCode,"---..");
morse[9].letter='9';
strcpy(morse[9].morseCode,"----.");
morse[10].letter='A';
strcpy(morse[10].morseCode,".-");
morse[11].letter='B';
strcpy(morse[11].morseCode,"-...");
morse[12].letter='C';
strcpy(morse[12].morseCode,"-.-.");
morse[13].letter='D';
strcpy(morse[13].morseCode,"-..");
morse[14].letter='E';
strcpy(morse[14].morseCode,".");
morse[15].letter='F';
strcpy(morse[15].morseCode,"..-.");
morse[16].letter='G';
strcpy(morse[16].morseCode,"--.");
morse[17].letter='H';
strcpy(morse[17].morseCode,"....");
morse[18].letter='I';
strcpy(morse[18].morseCode,"..");
morse[19].letter='J';
strcpy(morse[19].morseCode,".---");
morse[20].letter='K';
strcpy(morse[20].morseCode,"-.-");
morse[21].letter='L';
strcpy(morse[21].morseCode,".-..");
morse[22].letter='M';
strcpy(morse[22].morseCode,"--");
morse[23].letter='N';
strcpy(morse[23].morseCode,"-.");
morse[24].letter='O';
strcpy(morse[24].morseCode,"---");
morse[25].letter='P';
strcpy(morse[25].morseCode,".--.");
morse[26].letter='Q';
strcpy(morse[26].morseCode,"--.-");
morse[27].letter='R';
strcpy(morse[27].morseCode,".-.");
morse[28].letter='S';
strcpy(morse[28].morseCode,"...");
morse[29].letter='T';
strcpy(morse[29].morseCode,"-");
morse[30].letter='U';
strcpy(morse[30].morseCode,"..-");
morse[31].letter='V';
strcpy(morse[31].morseCode,"...-");
morse[32].letter='W';
strcpy(morse[32].morseCode,".--");
morse[33].letter='X';
strcpy(morse[33].morseCode,"-..-");
morse[34].letter='Y';
strcpy(morse[34].morseCode,"-.--");
morse[35].letter='Z';
strcpy(morse[35].morseCode,"--..");
while((input=fgetc(stdin))!=EOF) {
if(input=='\n') fprintf(stdout,"\n");
if(input==' ') {
fprintf(stdout," ");
}
if(input>47&&input<58) {
fprintf(stdout,"%s ",morse[input-48].morseCode);
continue;
}
input=toupper(input);
fprintf(stdout,"%s ",morse[input-55].morseCode);
}
}