Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- enum
- {
- SMALL_START = 11,
- BIG_START = 37,
- THIRD_BIT = 3,
- SECOND_BIT = 2,
- MAX_CODE = 63
- };
- int
- main(void)
- {
- char curr = getchar();
- int diff;
- while (curr != EOF) {
- _Bool skip = 0;
- if ('0' <= curr && curr <= '9')
- diff = '0' - 1;
- else if ('a' <= curr && curr <= 'z')
- diff = 'a' - SMALL_START;
- else if ('A' <= curr && curr <= 'Z')
- diff = 'A' - BIG_START;
- else
- skip = 1;
- if (!skip) {
- curr -= diff;
- curr &= ~(1 << SECOND_BIT);
- curr ^= (1 << THIRD_BIT);
- if (curr == 0)
- printf("@");
- else if (curr == MAX_CODE)
- printf("#");
- else
- printf("%c", curr + diff);
- }
- curr = getchar();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment