C Program to Check whether the Given Number is a Palindromic
C Programming Language Loop control in C Language (Article) Loop control in C Language (Program)
1614Program:
#include int main() { int n, n1, rev = 0, rem; printf("Enter any number: "); scanf("%d", &n); n1 = n; /* logic */ while (n > 0){ rem = n % 10; rev = rev * 10 + rem; n = n / 10; } if (n1 == rev){ printf("Given number is a palindromic number \n"); } else{ printf("Given number is not a palindromic number \n"); } return 0; }
Output:
Output 1 Enter any number: 1221 Given number is a palindromic number Press any key to continue . . . Output 2 Enter any number: 1232 Given number is not a palindromic number Press any key to continue . . .
Explanation:
Consider a numbern=121, reverse=0 and remainder;
number=121
now the while loop is executed /* the condition (n>0) is satisfied */
/* calculate remainder */
remainder of 121 divided by 10=(121%10)=1;
now reverse=(reverse*10)+remainder
=(0*10)+1 /* we have initialized reverse=0 */
=1
number=number/10
=121/10
=12
now the number is 12, greater than 0. The above process is repeated for number=12.
remainder=12%10=2;
reverse=(1*10)+2=12;
number=12/10=1;
now the number is 1, greater than 0. The above process is repeated for number=1.
remainder=1%10=1;
reverse=(12*10)+1=121;
number=1/10 /* the condition n>0 is not satisfied,control leaves the while loop */
Program stops here. The given number=121 equals the reverse of the number. Thus the given number is a palindrome number.
This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.