C Basics Programs
1.Check a string is a palindrome or not?
Program:-
#include<stdio.h>
#include<string.h>
void isPalindrome(char *str)
{
int i,l,h;
l=strlen(str);
i=0;
h=l-1;
while(h>i)
{
if(str[i++]!=str[h--])
{
printf("Not Palindrome");
return;
}
}
printf("Palindrome");
}
int main()
{
int i,l,flag=0;
char str[20];
printf("Enter a string:-");
scanf("%s",str);
isPalindrome(str);
return 0;
}
Output:-
Enter a string:- abcdcba
Palindrome
2.Find the maximum frquency of a character in a string.
Program:-
#include<stdio.h>
#include<string.h>
//#define ASCII_SIZE 256
char string_freq(char *str)
{
int i,j,l,cmax=0,count;
char s;
l=strlen(str);
for(i=0;i<l;i++)
{
count=1;
for(j=i+1;j<l;j++)
{
if(str[i]==str[j])
{
count++;
}
}
if(cmax<count)
{
cmax=count;
s=str[i];
}
}
printf("\n%d",cmax);
return s;
}
int main()
{
char str[20];
printf("Enter a string:-");
scanf("%s",str);
printf("\n%c",string_freq(str));
return 0;
}
3. Remove the duplicate characters from a string.
Program:-
#include<stdio.h>
#include<string.h>
#define ASCII_SIZE 256
void remove_duplicate(char *str)
{
int count[ASCII_SIZE]={0};
int i,j,len;
len=strlen(str);
char b[len];
j=0;
for(i=0;i<len;i++)
{
count[str[i]]++;
if(count[str[i]]==1)
{
b[j]=str[i];
j++;
}
}
printf("Display string:-");
printf("%s",b);
}
int main()
{
char str[20];
printf("Enter a string:-");
scanf("%s",str);
remove_duplicate(str);
return 0;
}
Output:-
Enter string:- programming
poain
4.Find duplicate of a string?
Program:-
#include<stdio.h>
#include<string.h>
void print_duplicate(char *str)
{
int i,len,count,j;
len=strlen(str);
for(i=0;i<len;i++)
{
count=1;
for(j=i+1;j<len;j++)
{
if(str[i]==str[j])
count++;
}
if(count>=2)
{
printf("%c",str[i]);
printf("%d\n",count);
}
}
}
int main()
{
char str[20];
printf("Enter a string:-");
scanf("%s",str);
print_duplicate(str);
return 0;
}
5. Remove the characters from the first string which common in the second string.
Program:-
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define ASCII_SIZE 256
//Remove characters from string1 which are in string2
char *RemoveChars(char *string1, char *string2)
{
//Count array stores the count of chars from string2
int *count = (int *)calloc(sizeof(int), ASCII_SIZE);
for(int i = 0; *(string2+i); i++)
{
count[*(string2+i)]++;
}
int i = 0, j = 0;
while(*(string1 + i))
{
char temp = *(string1 + i);
//If count of charcter is zero add to output
if(count[temp] == 0)
{
*(string1 + j) = *(string1 + i);
j++;
}
i++;
}
//Null termination
//removing extra characters
*(string1+j) = '\0';
return string1;
}
int main()
{
char str1[25],str2[20];
printf("Enter the first string:-");
scanf("%s",str1);
printf("\nEnter 2nd string:-");
scanf("%s",str2);
printf("%s",RemoveChars(str1,str2));
return 0;
}
Comments
Post a Comment