uibk_703602-Compiler-Constr.../examples/palindrome/palindrome.mc

47 lines
667 B
MonkeyC
Raw Permalink Normal View History

2019-03-18 13:50:36 +01:00
int modulo(int n, int k) {
return (n - k * (n / k));
}
bool is_palindrome(int original) {
int reversed;
int remainder;
int to_check;
reversed = 0;
to_check = original;
while (to_check != 0) {
remainder = modulo(to_check, 10);
reversed = reversed * 10 + remainder;
to_check = to_check / 10;
}
if (original == reversed) {
return true;
} else {
return false;
}
}
int main() {
int input;
print("Please enter a number:");
input = read_int();
print_nl();
bool result;
result = is_palindrome(input);
2019-03-18 13:50:36 +01:00
print_int(input);
if (result) {
print(" is a palindrome.");
} else {
print(" is not a palindrome.");
}
print_nl();
return 0;
}