|
|
1.1 root 1: #include <stdio.h>
2: #include <ctype.h>
3:
4: main()
5: {
6: int c;
7: while((c=getchar())!=EOF) {
8: switch(c) {
9: case '%':
10: percent();
11: break;
12: case ']':
13: bracket();
14: break;
15: case '@':
16: at();
17: break;
18: case '$':
19: getchar();
20: if(getchar()=='\n')
21: putchar('\n');
22: break;
23: case '!':
24: bang();
25: break;
26: default:
27: putchar(c);
28: }
29: }
30: }
31:
32: percent()
33: {
34: int c = getchar();
35: switch(c) {
36: case '_':
37: putchar('_');
38: break;
39: case '1':
40: case '2':
41: case '5':
42: case '6':
43: case '7':
44: case '8':
45: c = getchar();
46: if(c!=' ')
47: putchar(c); /* shouldn't happen */
48: break;
49: case '#':
50: break;
51: default: /* shouldn't happen */
52: putchar(c);
53: }
54: }
55:
56: at()
57: {
58: int c = getchar();
59: switch(c) {
60: case 'A':
61: case 'a':
62: putchar('a');
63: break;
64: case 'e':
65: default: /* shouldn't happen */
66: putchar(c);
67: break;
68: }
69: }
70:
71: bracket()
72: {
73: int c = getchar();
74: if(c=='O')
75: putchar('o');
76: else
77: putchar(c);
78: }
79:
80: bang()
81: {
82: int c = getchar();
83: if(isdigit(c))
84: return;
85: else /* shouldn't happen */
86: putchar(c);
87: }
88:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.