C Programming: Length of longest common subsequence of two strings
C String: Exercise-41 with Solution
Write a C program to calculate the length of the longest common subsequence of two given strings. The strings consist of alphabetical characters..
Sample Data:
("abcdkiou", "cabsdf") -> 3
("pqrjad", "qr") -> 2
Sample Solution:
C Code:
#include <stdio.h>
#include <string.h>
#define max(x,y)((x)>(y)?(x):(y))
int result[200][200];
char str1[200], str2[200];
int main(){
printf("Input the first string: ");
scanf("%s",str1);
printf("\nInput the second string: ");
scanf("%s",str2);
int n=strlen(str1);
int m=strlen(str2);
for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)
{
if(str1[i-1]==str2[j-1])
result[i][j]=result[i-1][j-1]+1;
else
result[i][j]=max(result[i-1][j],result[i][j-1]);
}
printf("\nLength of longest common subsequence of said strings: %d\n",result[n][m]);
}
Sample Output:
Input the first string: Input the second string: Length of longest common subsequence of said strings: 3
Flowchart :

C Programming Code Editor:
Improve this sample solution and post your code through Disqus.
Previous C Programming Exercise: Replace every lowercase letter with the same uppercase.
Next C Programming Exercise: C Date Time Exercises Home
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
C Programming: Tips of the Day
Where in memory variables stored in C:
You got some of these right, but whoever wrote the questions tricked you on at least one question:
- global variables -------> data (correct)
- static variables -------> data (correct)
- constant data types -----> code and/or data. Consider string literals for a situation when a constant itself would be stored in the data segment, and references to it would be embedded in the code
- local variables(declared and defined in functions) --------> stack (correct)
- variables declared and defined in main function -----> heap also stack (the teacher was trying to trick you)
- pointers(ex: char *arr, int *arr) -------> heap data or stack, depending on the context. C lets you declare a global or a static pointer, in which case the pointer itself would end up in the data segment.
- dynamically allocated space(using malloc, calloc, realloc) --------> stack heap
It is worth mentioning that "stack" is officially called "automatic storage class".
Ref : https://bit.ly/3jNvuZh
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook