Print all the palindrome numbers.If a number is not
palindrome make it one by attaching the reverse to it.
eg:123
output:123321 (or) 12321
Answer Posted / abdur rab
#include <stdio.h>
int reverse_digits ( int number, int* digits )
{
int n_digits = 0;
int rev_number = 0;
while ( number ) {
rev_number *= 10;
rev_number += number % 10;
number /= 10;
n_digits++;
}
*( digits ) = n_digits;
return ( rev_number );
}
int palindrome ( int number, int digits )
{
int flag = 1;
while ( number ) {
if ( ( number % 10 ) != ( number / (int)
pow ( 10, digits - 1 ) ) && ( digits > 1 ) ) {
flag = 0;
break;
}
// removing first and last digits
if ( 1 < ( digits -= 2 ) ) {
number /= 10;
number = number % (int) pow ( 10,
digits );
} else break;
}
return ( flag );
}
int main ( int argc, char* argv [] )
{
int number = 123;
int digits = 0;
int rev_number = 0;
rev_number = reverse_digits ( number, &digits );
if ( !palindrome ( number, digits ) ) {
printf ("\n NOT Palindrome, creating
Palindrome");
/**
* if you need 12321 use digits - 1
* if you need 123321 use digits
*/
number *= (int) pow ( 10, ( digits - 1 ) );
number += rev_number % (int) pow ( 10, (
digits - 1 ) );
}
printf ( "\n The Number: %d", number );
return ( 0 );
}
| Is This Answer Correct ? | 8 Yes | 12 No |
Post New Answer View All Answers
What is boolean in c?
Explain how can you be sure that a program follows the ansi c standard?
Describe the order of precedence with regards to operators in C.
How can I call fortran?
Explain the meaning of keyword 'extern' in a function declaration.
What do you understand by friend-functions? How are they used?
How is a null pointer different from a dangling pointer?
Write a program to print factorial of given number using recursion?
Stimulate calculator using Switch-case-default statement for two numbers
What are formal parameters?
What is header file in c?
What does c mean in basketball?
Tell us something about keyword 'auto'.
What are structure members?
Is using exit() the same as using return?