Contact Learn C
Copy

Program 86:To know whether the given string is Palindrome or not

Program 86:
 
#include<stdio.h>
#include<string.h>
main()
{
int i,j=0;
char str1[100],str2[100]={0};
printf("Enter a string to know whether it is palindrome or not\n");
gets(str1);
for(i=strlen(str1)-1;i>=0;i--)
{
str2[j]=str1[i];
j++;    
}
str2[j]='\0';
printf("The reverse of the given string is---> %s\n",str2);
if(strcmp(str1,str2)==0)
{
    printf("The given string is Palindrome\n");
}
else
{
    printf("The given string is Not Palindrome\n");
}
}
Explanation:
 
  1. This program starts with initializing :
    • i,j → used as helping variable
    • str1 → To store input from user
    • str2 → To store output of program
  2. printf("Enter a string to know whether it is palindrome or not\n");
    gets(str1);
    Taking input from user
  3. for(i=strlen(str1)-1;i>=0;i--)
    {
    str2[j]=str1[i];
    j++;    
    }
    • Lets take string example LOL.
    • Iteration 1: i=strlen(str1)-1→3-1→i=2 ;2>=0 so loop is executed.j=0
      • str2[j]=str1[i]→str2[0]=str1[0]→str2[0]=L
      • j++→j=1 
      • i-- →i=1
    • Iteration 2:1>=0 so loop is executed.
      • str2[j]=str1[i]→str2[1]=str1[1]→str2[1]=O
      • j++→j=2
      • i--→i=0
    • Iteration 3:0>=0 so loop is executed.
      • str2[j]=str1[i]→str2[2]=str1[0]→str2[2]=L
      • j++→j=3
      • i--→i=-1
    • Iteration 4:-1 is not greater than or equal to 0 so loop is terminated.
    •  str2[j]='\0' To indicated the end of the string
  4. if(strcmp(str1,str2)==0)
    {
        printf("The given string is Palindrome\n");
    }
    else
    {
        printf("The given string is Not Palindrome\n");
    }
    compares str1 and str2 where str1=LOL and str2=LOL so strcmp(str1,str2) returns 0 which is equal to 0  so the if part is executed where it prints The given string is Palindrome
Output:


To know whether the given string is Palindrome or not

Donate

Download App and Learn when ever you want

Get it on PlayStore
Get it on Amazon App Store
Get it on Aptoide