174k views
0 votes
Write a program to check if two strings are different by one and only one character (when checked character by character). For example, lake and bake are different by one and only one character. pal and pale, bus and bit, kite and bit are NOT different by one and only one character.

User Cowboybkit
by
5.1k points

1 Answer

5 votes

C program to check if two strings are different by one and only one character

#include<stdio.h>

#include<string.h>

//driver function

int main()

{

int result;

char f_string[100],s_string[100]; /* Declaring f_string and s_string as strings*/

printf("Enter the first string : \\"); // Taking inputs from user

scanf("%s",f_string);

printf("Enter the second string : \\"); //

scanf("%s",s_string);

int l1 = strlen(f_string); // calculating length of strings

int l2 = strlen(s_string);

int difference = 0; // For storing the count difference in strings

if(l1==l2) // Checking lengths of string

{

for(int i=0;i<l2;i++)

{

if(f_string[i] !=s_string[i]) /*checking each character of f_string with the same character index of s_string*/

difference++; // updating the count difference

}

}

result=difference;

if(result==1) // if there is only one character difference

printf("The two strings are replaced by one character");

else

printf("The two strings are not replaced by one character");

}

Output

Enter the first string : lake

Enter the second string : bake

The two strings are replaced by one character

Enter the first string : pal

Enter the second string : pale

The two strings are not replaced by one character

Enter the first string : bus

Enter the second string : bit

The two strings are not replaced by one character

Enter the first string : kite

Enter the second string : bit

The two strings are not replaced by one character

User Psparago
by
6.1k points