How to convert "7H15 M3554G3" into words in C

1 Answer

0 votes
// 7H15 M3554G3 is written in leet speak, where numbers resemble letters. 
// place each leetspeak character with its matching letter 
// (7 -> T, 1 -> I, 5 -> S, 3 -> E) and build a new string
// 7H15 -> THIS | M3554G3 -> MESSAGE
 
// Your brain can interpret distorted or number‑substituted letters 
// surprisingly well because it recognizes the overall word 
// shapes and patterns, not just individual characters.

#include <stdio.h>
#include <string.h>

char convert(char c) {
    switch (c) {
        case '7': return 'T';
        case '1': return 'I';
        case '5': return 'S';
        case '3': return 'E';
        case '4': return 'A';
        case '0': return 'O';
        default:  return c;   // keep letters like H, M, G
    }
}

void leetToText(const char* in, char* out) {
    while (*in) {
        *out = convert(*in);
        in++;
        out++;
    }
    *out = '\0';
}

int main() {
    char input[] = "7H15 M3554G3";
    char output[64] = "";

    leetToText(input, output);

    printf("%s\n", output);
    
    return 0;
}


/*
run:

THIS MESSAGE

*/

 



answered 2 hours ago by avibootz
edited 1 hour ago by avibootz
...