C語言每日練習之求兩個矩陣的乘積詳解
更新時間:2022年01月10日 09:07:26 作者:小輝_Super
這篇文章主要介紹了如何求兩個矩陣的乘積,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
分析
在數學中,矩陣(Matrix)是一個按照長方陣列排列的復數或實數集合,矩陣是高等代數學中的常見工具,也常見于統(tǒng)計分析等應用數學學科中。

矩陣的乘法有以下注意事項:
- 1、當矩陣A的列數(column)等于矩陣B的行數(row)時,A與B可以相乘。
- 2、矩陣C的行數等于矩陣A的行數,C的列數等于B的列數。
- 3、乘積C的第m行第n列的元素等于矩陣A的第m行的元素與矩陣B的第n列對應元素乘積之和。

代碼實現:只需要用矩陣乘積的公式求出新的矩陣,即為兩個矩陣的乘積,程序中還需要判斷輸入的兩個矩陣是否可以相乘。
代碼實現
#include <stdio.h>
int main()
{
int line_a = 0; //A矩陣行數
int col_a = 0; //A矩陣列數
int line_b = 0; //B矩陣行數
int col_b = 0; //B矩陣列數
int i = 0;
int j = 0;
int k = 0;
/* 獲取A矩陣行數和列數 */
printf("請輸入A矩陣的行數和列數\n");
scanf("%d%d", &line_a, &col_a);
int matrix_A[line_a][col_a];
/* 獲取B矩陣行數和列數 */
printf("請輸入B矩陣的行數和列數\n");
scanf("%d%d", &line_b, &col_b);
int matrix_B[line_b][col_b];
if(col_a != line_b)
{
printf("error,A矩陣的列數和B矩陣的行數必須相等!\n");
return 0;
}
int matrix_C[line_a][col_b]; //C矩陣:A矩陣和B矩陣的乘積
/* 獲取A矩陣元素 */
for(i = 0; i< line_a; i++)
{
printf("請輸入A矩陣第%d行元素\n", i);
for(j = 0; j < col_a; j++)
{
scanf("%d", &matrix_A[i][j]);
}
}
/* 獲取B矩陣元素 */
for(i = 0; i< line_b; i++)
{
printf("請輸入B矩陣第%d行元素\n", i);
for(j = 0; j < col_b; j++)
{
scanf("%d", &matrix_B[i][j]);
}
}
/* 打印矩陣 */
printf("輸入的A矩陣為:\n");
for(i = 0; i < line_a; i++)
{
for(j = 0; j < col_a; j++)
{
printf("%d\t", matrix_A[i][j]);
}
printf("\n");
}
printf("輸入的B矩陣為:\n");
for(i = 0; i < line_b; i++)
{
for(j = 0; j < col_b; j++)
{
printf("%d\t", matrix_B[i][j]);
}
printf("\n");
}
/* 求AB的乘積,即矩陣C */
for(i = 0; i < line_a; i++)
{
for(j = 0; j < col_b; j++)
{
matrix_C[i][j] = 0; //初始化
for(k = 0; k < col_a; k++)
matrix_C[i][j] += matrix_A[i][k] * matrix_B[k][j];
}
}
/* 打印C矩陣 */
printf("A矩陣乘B矩陣:\n");
for(i = 0; i < line_a; i++)
{
for(j = 0; j < col_b; j++)
{
printf("%d\t", matrix_C[i][j]);
}
printf("\n");
}
return 0;
}
運行結果

總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
相關文章
C++11中l(wèi)onglong超長整型和nullptr初始化空指針
本文介紹?C++11?標準中新添加的?long?long?超長整型和?nullptr?初始化空指針,在?C++11?標準下,相比?NULL?和?0,使用?nullptr?初始化空指針可以令我們編寫的程序更加健壯,本文結合示例代碼給大家詳細講解,需要的朋友跟隨小編一起看看吧2022-12-12
Dev C++編譯時運行報錯source file not compile問題
這篇文章主要介紹了Dev C++編譯時運行報錯source file not compile問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01

