RosettaCodeData/Task/Middle-three-digits/Aime/middle-three-digits.aime

42 lines
647 B
Plaintext

void
m3(integer i)
{
text s;
s = itoa(i);
if (s[0] == '-') {
s = delete(s, 0);
}
if (~s < 3) {
v_integer(i);
v_text(" has not enough digits\n");
} elif (~s & 1) {
o_form("/w9/: ~\n", i, cut(s, ~s - 3 >> 1, 3));
} else {
v_integer(i);
v_text(" has an even number of digits\n");
}
}
void
middle_3(...)
{
integer i;
i = 0;
while (i < count()) {
m3($i);
i += 1;
}
}
integer
main(void)
{
middle_3(123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100,
-12345, 1, 2, -1, -10, 2002, -2002, 0);
return 0;
}