72 lines
1.0 KiB
C
72 lines
1.0 KiB
C
extern int open(const char *, int);
|
|
extern int write(int, char *, int);
|
|
|
|
char intToLetter(int i) {
|
|
switch (i) {
|
|
case 0:
|
|
return '0';
|
|
case 1:
|
|
return '1';
|
|
case 2:
|
|
return '2';
|
|
case 3:
|
|
return '3';
|
|
case 4:
|
|
return '4';
|
|
case 5:
|
|
return '5';
|
|
case 6:
|
|
return '6';
|
|
case 7:
|
|
return '7';
|
|
case 8:
|
|
return '8';
|
|
case 9:
|
|
return '9';
|
|
}
|
|
|
|
return '?';
|
|
}
|
|
|
|
char* makeIntString(int i) {
|
|
char a[3];
|
|
|
|
int hundreds = i / 100;
|
|
int tens = (i/10) % 10;
|
|
int ones = i % 10;
|
|
|
|
a[0] = intToLetter(hundreds);
|
|
a[1] = intToLetter(tens);
|
|
a[2] = intToLetter(ones);
|
|
|
|
return a;
|
|
}
|
|
|
|
__attribute__ ((visibility ("default")))
|
|
int main() {
|
|
int fd;
|
|
int x;
|
|
|
|
fd = open("stdout", 0x42);
|
|
|
|
for (x = 0; x < 100; x++) {
|
|
int wrote = 0;
|
|
if (x % 3 == 0) {
|
|
wrote = 1;
|
|
write(fd, "Fizz", 4);
|
|
}
|
|
if (x % 5 == 0) {
|
|
wrote = 1;
|
|
write(fd, "Buzz", 4);
|
|
}
|
|
|
|
if (wrote == 0) {
|
|
write(fd, makeIntString(x), 3);
|
|
}
|
|
|
|
write(fd, "\n", 1);
|
|
}
|
|
|
|
return 0;
|
|
}
|