Matrix Multiplication in C Programming

Example: Write a program to multiply two matrix. Firstly, ask from user order of matrix( number of rows and column) Then take the elements of matrix from user as a input and print the resultant matrix.

#include 
int main()
{
  int m, n, p, q, i, j, k, sum = 0;
  int f[10][10], s[10][10], multiply[10][10];
 
  printf("Enter number of rows and columns of first matrix\n");
  scanf("%d%d", &m, &n);
  printf("Enter elements of first matrix\n");
 
  	for (i = 0; i < m; i++)
    	{	for (j = 0; j < n; j++)
      		{	scanf("%d", &f[i][j]);
 		}
	}
  printf("Enter number of rows and columns of second matrix\n");
  scanf("%d%d", &p, &q);
 
  if (n != p)
{
    printf("The matrices can't be multiplied with each other.\n");
  }
else
  {
    printf("Enter elements of second matrix\n");
 
    	for (i = 0; i < p; i++)
      	{	for (j = 0; j < q; j++)
        		{	scanf("%d", &s[i][j]);
 		}
	}
    
	for (i = 0; i < m; i++)
	 {
      		for (j = 0; j < q; j++) 
		{
        			for (k = 0; k < p; k++) 
			{
          				sum = sum + f[i][k]*s[k][j];
        			}
 		multiply[i][j] = sum;
		sum = 0;
      		}
    	}
 
    printf("Product of the matrices:\n");
 
    	for (i = 0; i < m; i++) 
	{
      		for (j = 0; j < q; j++)
        		{	printf("%d\t", multiply[i][j]);
 		}
      	printf("\n");
    	}
  }
 
  return 0;
}



Enter number of rows and columns of first matrix
2
2
Enter elements of first matrix
2
3
4
5
Enter number of rows and columns of second matrix
2
2
Enter elements of second matrix
2
3
4
5
Product of the matrices:
16	21	
28	37